home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 22 / Cream of the Crop 22.iso / utility / sentry54.zip / README.TXT < prev    next >
Text File  |  1996-11-01  |  127KB  |  3,006 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.                                 S e n t r y
  16.                                 ===========
  17.                                     V5.4
  18.  
  19.                              Instruction Manual
  20.  
  21.                              Copyright (C) 1996
  22.  
  23.                              Michael A. Bobbitt
  24.                             NightShade Computing
  25.                                army@izzy.net
  26.               http://www.izzy.net/~army/NightShade/Sentry.html
  27.  
  28.  
  29.  
  30.  
  31.                                 S e n t r y
  32.                                 ===========
  33.                              Table of Contents
  34.  
  35.         1.0 Introduction
  36.             1.1  Purpose of Sentry
  37.                  1.1.1 In the Home
  38.                  1.1.2 In a Business Environment
  39.                  1.1.3 In an Educational Environment
  40.                  1.1.4 General
  41.             1.2  Features of Sentry
  42.                  1.2.1 General
  43.                  1.2.2 Expiry Dates
  44.                  1.2.3 Windows
  45.                  1.2.4 File Protection
  46.             1.3  Distribution of Sentry
  47.  
  48.         2.0 Setup
  49.             2.1  Installing Sentry
  50.             2.2  The Initial Login
  51.             2.3  First Priorities
  52.             2.4  Using the Initialization Settings
  53.             2.5  Uninstalling Sentry
  54.             2.6  Installing Sentry on Multiple Machines
  55.  
  56.         3.0 Securing Your Computer
  57.             3.1  BIOS Password
  58.             3.2  Boot Sequence
  59.             3.3  SWITCHES in CONFIG.SYS
  60.             3.4  BootKeys in MSDOS.SYS
  61.             3.5  BREAK in CONFIG.SYS
  62.             3.6  Passwords
  63.             3.7  Placement in AUTOEXEC.BAT
  64.             3.8  Keep a Backup
  65.  
  66.         4.0 Logging In
  67.             4.1  The Login Procedure
  68.             4.2  Changing Passwords
  69.  
  70.         5.0 The SuperUser Menu
  71.             5.1  User Maintenance Menu
  72.                  5.1.1  Create User
  73.                  5.1.2  Delete User
  74.                  5.1.3  View Users
  75.                  5.1.4  Toggle SuperUser Status
  76.                  5.1.5  Change Account Exipry Date
  77.                  5.1.6  Change Password Expiry Date
  78.                  5.1.7  Change Account Password
  79.                  5.1.8  Assign Max Invalid Logins
  80.                  5.1.9  Return to SuperUser Menu
  81.             5.2  Log File Maintenance Menu
  82.                  5.2.1  View Log File
  83.                  5.2.2  View Backup Log File
  84.                  5.2.3  Move Log File to Backup
  85.                  5.2.4  Return to SuperUser Menu
  86.             5.3  System Maintenance Menu
  87.                  5.3.1  Edit Initialization Settings
  88.                  5.3.2  Send a Message to a User
  89.                  5.3.3  Protect a File
  90.                  5.3.4  Export Initialization Settings
  91.                  5.3.5  Security Audit
  92.                  5.3.6  Modify Shell Commands
  93.                  5.3.7  Return to SuperUser Menu
  94.             5.4  Sentry DOS Shell
  95.             5.5  Exit
  96.  
  97.         6.0 Using Sentry With Windows
  98.             6.1  General
  99.             6.2  Installation Procedure
  100.             6.3  Windows 95
  101.  
  102.         7.0 Securing Other Programs
  103.             7.1  General
  104.             7.2  Setup
  105.             7.3  Account Information
  106.             7.4  Using Templates
  107.             7.5  Running a Protected File
  108.             7.6  Upgrading a Protected File
  109.  
  110.         8.0 Creating a new Instance of Sentry
  111.  
  112.         9.0 Registration
  113.             9.1 General
  114.             9.2 Benefits of Registration
  115.  
  116.         10.0 The Initialization Settings
  117.              10.1  Location of the Log File
  118.              10.2  Location of the Backup Log File
  119.              10.3  Location of the Message File
  120.              10.4  Minimum Password Length
  121.              10.5  Maximum Password Length
  122.              10.6  Maximum Invalid Tries
  123.              10.7  Wait Time After an Invalid Login
  124.              10.8  Max Log File Size
  125.              10.9  Key to Change Password
  126.              10.10 Password Echo Character
  127.              10.11 Days Until Passwords Expire
  128.              10.12 Days Until Accounts Expire
  129.              10.13 Screen Saver Activation Time
  130.              10.14 Screen Saver Message
  131.              10.15 Login Prompt
  132.              10.16 Password Prompt
  133.              10.17 Wrong Password Message
  134.              10.18 Wrong Login Message
  135.              10.19 Bad Password Length Message
  136.              10.20 Bad Login Length Message
  137.              10.21 Wrong Password Log Message
  138.              10.22 Wrong Login Log Message
  139.              10.23 Bad Password Length Log Message
  140.              10.24 Bad Login Length Log Message
  141.              10.25 Environment Variable
  142.              10.26 Enable Sentry with Windows
  143.              10.27 Show Title
  144.              10.28 Date Format
  145.              10.29 Case Sensitivity
  146.              10.30 Windowed Mode
  147.              10.31 Enable Colour
  148.              10.32 Text Colour
  149.              10.33 Text Background
  150.              10.34 Highlighted Text Colour
  151.              10.35 Highlighted Text Background
  152.              10.36 Maximum Invalid Logins
  153.              10.37 Type Ahead
  154.              10.38 Clear Screen
  155.              10.39 Last Login Pause
  156.              10.40 Secure Deletion
  157.              10.41 View Highlighting
  158.              10.42 View Highlighting Colour
  159.              10.43 Disable CTRL-C
  160.  
  161.         11.0 Technical Notes
  162.              11.1  Encoding Algorithm
  163.              11.2  SuperUser Access
  164.              11.3  Packing List
  165.              11.4  File_id.diz
  166.              11.5  Date Conversion
  167.              11.6  Environment Variables
  168.              11.7  Virus Scanners
  169.              11.8  File Deletion
  170.              11.9  General
  171.  
  172.         12.0 Potential Threats To Security
  173.              12.1  Account Information
  174.              12.2  Hardware Loopholes
  175.  
  176.         13.0 Troubleshooting
  177.              13.1  Error messages
  178.                    13.1.1  Cannot Locate Environment.
  179.                    13.1.2  Environment Overflow - Not Modified.
  180.                    13.1.3  Error Creating Backup Log File!
  181.                    13.1.4  Error Creating Log File!
  182.                    13.1.5  Error Creating Temp File!
  183.                    13.1.6  Error Opening Log File!
  184.                    13.1.7  Error Opening Message File!
  185.                    13.1.8  Error Opening Protected File!
  186.                    13.1.9  Error Opening Sentry.ins!
  187.                    13.1.10 Error Opening System Files!
  188.                    13.1.11 Error Opening Temp File!
  189.                    13.1.12 Error Reading Data Segment [Open]
  190.                    13.1.13 Please Run the INSTALL.EXE program.
  191.                    13.1.14 Error Scanning Temp File!
  192.                    13.1.15 Error in Account Information!
  193.                    13.1.16 Error in Initialization Settings!
  194.                    13.1.17 Internal Screen Error [Reading]
  195.                    13.1.18 Internal Screen Error [Writing]
  196.                    13.1.19 Out of memory!
  197.                    13.1.20 Registration Error - Program Aborted!
  198.                    13.1.21 This account has expired.
  199.                    13.1.22 Cannot Find LICENSE.TXT!
  200.                    13.1.23 The Initialization Settings Are Old!
  201.                    13.1.24 The Initialization Settings Are New!
  202.              13.2  Other problems
  203.  
  204.         14.0 Standard Disclaimer
  205.  
  206.         15.0 Contact Information
  207.  
  208.         16.0 About the Author
  209.  
  210.         17.0 Credits
  211.  
  212.                            ========================
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.                                 S e n t r y
  220.                                 ===========
  221.                      Security for the Home and Business
  222.  
  223.  
  224.  
  225.  
  226.  
  227.         1.0 Introduction
  228.         ================
  229.  
  230.         Currently, almost all fields of computer security are growing
  231.         and advancing, with a few notable exceptions. Networks, servers
  232.         and public access systems are all tightening their access to
  233.         avoid potential problems. But what about the PC? Is the
  234.         information contained on these any less valuable? Often times
  235.         not, yet adequate security programs do not exist for PC's. In my
  236.         search for security, I discovered that PC's were virtually
  237.         ignored, and those programs that did exist were weak and faulty.
  238.         Faced with this situation, I decided to write my own security
  239.         program from scratch, incorporating the tightest security
  240.         measures possible, while allowing flexible, easy use.
  241.  
  242.         Since Sentry is invoked before any networks are detected, and
  243.         before "high level" operating systems such as Windows
  244.         initialize, it provides absolute security for these items.
  245.         "Networked" security solutions are often faulty since
  246.         experienced users can gain access to the local network before
  247.         the security measures are in place.
  248.  
  249.  
  250.         1.1 Purpose of Sentry
  251.  
  252.         Sentry is meant for one basic purpose only: to keep unwanted
  253.         people out of "private" information. It is flexible enough that
  254.         this single purpose can be used in many different ways, for many
  255.         different reasons. Here are just a few.
  256.  
  257.         1.1.1 In the Home
  258.  
  259.         Most people have something on their home PC that they consider
  260.         to be "sensitive". Maybe it's a private letter, maybe it's
  261.         copies of e-mail, or maybe it's financial information. Or quite
  262.         possibly, you just want a way to keep track of who is using your
  263.         system. Sentry has the solution for all of these problems, by
  264.         restricting access and logging all attempts to use the system.
  265.  
  266.         Alternatively, sometimes you just want to keep people out,
  267.         period. It could be your nosy room mate, your little brother, or
  268.         your boss at work. In any case, Sentry will keep them out, while
  269.         letting a select group of people in.
  270.  
  271.         1.1.2 In a Business Environment
  272.  
  273.         Businesses will find Sentry valuable to guard against
  274.         unauthorized access to PC's. With Sentry, you can leave your
  275.         terminals unattended, knowing that the information held on them
  276.         is secure. Many businesses have cleaners or other independent
  277.         contractors come in during silent hours. A lot of businesses
  278.         have PC's in open areas where a "passer-by" could use them. Most
  279.         terminals are left unattended for a portion of the day (lunch,
  280.         during errands, during meetings, etc.). There's no guarantee
  281.         that an unauthorized person won't attempt to use your PC's when
  282.         you're not around.
  283.  
  284.         For businesses that work in groups, Sentry is perfect for
  285.         keeping track of who used the PC's and when. Supervisors could
  286.         have SuperUser access on all PC's in their group, allowing them
  287.         to manage and control access as required. Also, the log that
  288.         Sentry keeps could be a valuable tool in determining who was
  289.         doing what, and when.
  290.  
  291.         Once a member leaves the project, simply expire or delete their
  292.         account to avoid any unauthorized access.
  293.  
  294.         1.1.3 In an Educational Environment
  295.  
  296.         Schools and educational institutes will find Sentry very useful
  297.         for limiting access to certain terminals. If, for example, only
  298.         a select group of people (staff, administrators, or a certain
  299.         class) should have access to specific PC's, simply give each
  300.         person an account. Anyone without an account cannot log in.
  301.         Sentry will also help track usage, attempted break-ins, and any
  302.         other suspicious activity.
  303.  
  304.         Often school terminals are left unattended, with nothing to stop
  305.         a student from "poking around." Sentry can act as protection
  306.         from the prying eyes of the student body.
  307.  
  308.         1.1.4 General
  309.  
  310.         You may not need to use Sentry on your system. You might never
  311.         have a security problem to worry about. But the truth is that
  312.         Security isn't something to take a chance on. It is a serious
  313.         problem in today's computing society, and many legitimate users
  314.         find themselves helpless or confused about the real issues. It
  315.         is a shame that the immoral few have ruined it for the rest, but
  316.         we cannot let them get in the way of our daily business. With
  317.         the proper tools and knowledge, we can fight back by closing up
  318.         the common loopholes that attackers use.
  319.  
  320.  
  321.         1.2 Features of Sentry
  322.  
  323.         1.2.1 General
  324.  
  325.         Sentry will allow you to set up accounts on your computer, one
  326.         account for each person you want to have access. If someone
  327.         doesn't have an account, they don't get in. It's that simple.
  328.         Each person has their own account, with their own password,
  329.         making it easy to track who logs in and when. Since Sentry
  330.         doesn't use a "master access" password, you can wipe a single
  331.         users account without affecting any other users.
  332.  
  333.         Sentry records each login attempt in a log file which can be
  334.         viewed by the SuperUser at any time.
  335.  
  336.         1.2.2 Expiry Dates
  337.  
  338.         You can set accounts to expire on a certain date, effectively
  339.         barring access to the specified user after that. For example, if
  340.         you know that Joe will be leaving on April 14th, you can set his
  341.         account to expire on April 15th. That means you don't have to
  342.         remember to delete his account on the 15th... It will expire on
  343.         it's own, and you can delete it whenever you remember.
  344.  
  345.         You can also set expiry dates for passwords, meaning that a user
  346.         will have to enter a new password once his old one has expired.
  347.         In addition, you can set the period of time that new passwords
  348.         are good for.
  349.  
  350.         1.2.3 Windows
  351.  
  352.         Sentry can be used in conjunction with Windows to make it a
  353.         more secure environment. You can protect your MS-DOS icon so
  354.         that only users with an account can drop to DOS. In addition,
  355.         you can tailor the way Windows operates to allow more protection
  356.         from accidental deletion or modification of important items.
  357.  
  358.         1.2.4 File Protection
  359.  
  360.         In addition to securing your PC, Sentry can secure individual
  361.         files. If you have a program that you need to keep on your hard
  362.         drive, but you want to restrict who uses it, you can simply
  363.         protect that file with Sentry. A good example of this is the
  364.         FORMAT program. This is a useful command, however you probably
  365.         don't want it available to the masses. The solution? Protect it
  366.         with Sentry. Once protected, only those people you designate
  367.         will be able to execute the program.
  368.  
  369.  
  370.         1.3 Distribution of Sentry
  371.  
  372.         Sentry is a copywritten piece of work, however distribution of
  373.         the ShareWare version is allowed and encouraged. The only
  374.         stipulation is that it must be unmodified, and must contain all
  375.         of the original files (and no others). Essentially, the
  376.         SentryXX.zip file you initially received is the only format that
  377.         Sentry is distributable in.
  378.  
  379.         DO NOT distribute any registered versions whatsoever. (By
  380.         distributing a registered version, you are giving out copies of
  381.         a specific encoding scheme, which can be used against the
  382.         registered user - and only the registered user!)
  383.  
  384.  
  385.         2.0 Setup
  386.         =========
  387.  
  388.         Since you are reading this, I can safely assume you have
  389.         unzipped Sentry. Along with that, I will also assume that you
  390.         have created a directory for Sentry, and that all Sentry files
  391.         are currently in it. (If this is not true, do it now). You may
  392.         want to read the section entitled "Creating a new Instance of
  393.         Sentry" below.
  394.  
  395.  
  396.         2.1 Installing Sentry
  397.  
  398.         The very first thing you should do is make sure you keep a copy
  399.         of all the Sentry files somewhere safe. Copying them to a floppy
  400.         disk and storing it is a good idea.
  401.  
  402.         From here, installation is relatively simple. Just run the
  403.         program called INSTALL.EXE. You will now be asked for the
  404.         directory you wish to install to. If it the current directory,
  405.         you can simply enter a period (.) at this prompt. If you enter
  406.         another directory, the files will be copied to that new
  407.         directory, but not deleted from the current one. (You must do
  408.         that yourself).
  409.  
  410.         If this is the first time you've installed Sentry, or if you're
  411.         installing from scratch, you will be asked for some registration
  412.         information (registred versions only). This information will be
  413.         located on your initial letter, or upgrade notice, as
  414.         applicable.
  415.  
  416.         If you have previously exported your initialization settings,
  417.         they will be detected now, and you will be asked if you wish to
  418.         use them.
  419.  
  420.         If there are no exported settings, the install program will
  421.         automatically search to see if your copy of Sentry already has
  422.         initialization settings. If it does, you will be asked if you
  423.         wish to over-write them. Enter 'y' if you wish to overwrite
  424.         them. If you do not already have initialization settings, the
  425.         install program will automatically use the default settings.
  426.  
  427.         Next you will be asked if you wish to update your system files.
  428.         If you answer 'y' then your AUTOEXEC.BAT, CONFIG.SYS and
  429.         MSDOS.SYS (for Windows 95 only) will be backed up and modified.
  430.         This action will cause Sentry to run automatically the next time
  431.         your computer reboots.
  432.  
  433.         Finally, you will be asked if you wish to use Sentry with
  434.         Windows. If you answer 'y' then you will be asked for the path
  435.         to your windows directory. You will also be asked a series of
  436.         questions about general Windows security. The options you select
  437.         will automatically be set within windows. If you wish to re-set
  438.         any options, simply run the install program again.
  439.  
  440.         Please note that the install program deletes itself after
  441.         running. This is so it cannot be run by a regular user to gain
  442.         access or over-write settings. Make sure you keep a backup of
  443.         the install program in case you need it.
  444.  
  445.  
  446.         2.2 The Initial Login
  447.  
  448.         Your first login to Sentry should be as a SuperUser.  This will
  449.         enable you to add yourself as a user and begin customizing your
  450.         installation. It is important that you perform the following
  451.         steps as soon as possible, as leaving the Sentry account is a
  452.         serious security breach.
  453.  
  454.         As soon as you are ready, run Sentry from the DOS prompt (by
  455.         typing "SENTRY" while in the proper directory). If an error
  456.         message appears, consult section 13.
  457.  
  458.         To log in as a SuperUser, hold down the CTRL key when pressing
  459.         ENTER, after you have typed in the login "Sentry," without the
  460.         quotation marks.  Then use the password Sentry (sentry or SENTRY
  461.         will not work).  Both login names and passwords are case
  462.         sensitive by default, so remember the capital letters.  You can
  463.         turn off case sensitivity for logins by editing initialization
  464.         settings, but the password will always be case sensitive.
  465.  
  466.         Now instead of dropping to DOS, or immediately following the
  467.         instructions in your Autoexec.bat file, you will go to the
  468.         SuperUser Menu.
  469.  
  470.         From here, select "1. User Maintenance Menu."  There you should
  471.         create a new user (you).  You will also want to grant yourself
  472.         SuperUser access.  You can do this by holding down the CTRL key
  473.         while pressing enter after typing the login name. You can also
  474.         use the "Toggle SuperUser Access" menu option to grant SuperUser
  475.         privileges.
  476.  
  477.         See the section below on "The SuperUser Menu" for more
  478.         information.
  479.  
  480.  
  481.         2.3 First Priorities
  482.  
  483.         Once you have your account set up, you should delete the Sentry
  484.         account, so nobody else can use it. This is very important as a
  485.         potential intruder will probably try to enter through the
  486.         default Sentry account first. (If you delete it, that closes the
  487.         loophole).
  488.  
  489.         Sentry will not let you delete the last SuperUser, so you must
  490.         create a new user with SuperUser access before deleting the
  491.         Sentry account.
  492.  
  493.         From here, you can create the other users of your system, and
  494.         define their starting passwords, expiry dates and access rights.
  495.         See the section below on "The SuperUser Menu" for more
  496.         information.
  497.  
  498.  
  499.         2.4 Using the Initialization Settings
  500.  
  501.         Sentry can be configured to your needs by way of the
  502.         initialization settings. These settings contain information that
  503.         you may wish to change, allowing Sentry to adapt to many
  504.         different situations.
  505.  
  506.         You can edit the initialization settings from the SuperUser
  507.         menu. You can do this by selecting the "Edit Initialization
  508.         Settings" option (see section 5.10 and section 10 for details).
  509.         Each setting includes helpful hints and information to simplify
  510.         customization. Any changes you make will not take effect until
  511.         the next time you use Sentry.
  512.  
  513.  
  514.         2.5 Uninstalling Sentry
  515.  
  516.         Sentry is simple to uninstall. Simply re-run the INSTALL.EXE
  517.         program (you may have to get it from backup as it deletes itself
  518.         after installing). At the "Install Path" prompt, simply enter an
  519.         asterisk (*) to uninstall.
  520.  
  521.         From here you will be asked if you wish to remove Sentry from
  522.         your hard drive. Responding with a 'y' will delete the files and
  523.         remove the directory that Sentry is in. Next you will be
  524.         prompted for your windows directory. If you did not install
  525.         Sentry with Windows, you can simply enter an asterisk (*) to
  526.         skip this.
  527.  
  528.         When the program finishes, Sentry will no longer be on your
  529.         system. If you change your mind, you can re-install it at any
  530.         time.
  531.  
  532.  
  533.         2.6 Installing Sentry on Multiple Machines
  534.  
  535.         In many cases it is desirable to install Sentry on multiple
  536.         machines, to provide security to an entire computer lab or
  537.         working area. Often, the system administrator will want specific
  538.         accounts or initialization settings on each machine. To avoid
  539.         having to set these up individually, the process outlined below
  540.         can be followed.
  541.  
  542.         1. Run Install.exe. Put a disk in your floppy drive, and enter
  543.         "A:\" for the install path.
  544.  
  545.         2. Enter the locations for the log, backup log and message
  546.         files. If these locations are to be the same on each machine,
  547.         then enter that location here (eg: C:\Sentry.log, etc).
  548.  
  549.         3. Do not update your system files, and do not choose to use
  550.         Sentry with Windows or Windows 95.
  551.  
  552.         4. Switch to the floppy drive (Eg: "A:"), and run Sentry.exe.
  553.         Log in as Sentry, and set up the accounts and initialization
  554.         settings you want to have on all machines.
  555.  
  556.         5. Copy the Install.exe program to A:\. You will likely have to
  557.         copy it from the original disk or zip file, as the install
  558.         program deletes itself after running. (Eg: "COPY c:INSTALL.EXE
  559.         A:\"). Write protect the disk so that the install program will
  560.         not be deleted with every installation.
  561.  
  562.         6. Now take the disk to a machine you wish to install Sentry on.
  563.  
  564.         7. Switch to the floppy drive (Eg: "A:") and run the install
  565.         program again. Enter the path you wish to install to (Eg:
  566.         "C:\SENTRY"). Do not overwrite the default settings, but do
  567.         update the startup files. Install Sentry for use with Windows or
  568.         Windows 95 if desired.
  569.  
  570.         8. Switch to the hard disk (Eg: "C:") and run Sentry. Update the
  571.         accounts and initialization settings which are specific to that
  572.         machine.
  573.  
  574.         9. Repeat steps 6-8 for each machine required.
  575.  
  576.         Once these steps are complete, every machine that Sentry has
  577.         been installed on will have the defaults set up in step 5. This
  578.         can save a considerable amount of time when installing on a
  579.         large number of machines.
  580.  
  581.  
  582.         3.0 Securing Your Computer
  583.         ==========================
  584.  
  585.         Sentry is essentially useless unless you take the appropriate
  586.         additional security measures for your machine. Below I have
  587.         outlined some of the things you can do to increase the security
  588.         of your system.
  589.  
  590.  
  591.         3.1 BIOS Password
  592.  
  593.         Protect your BIOS! It has a built in password, so set it!
  594.         Without the password, any user can get into your BIOS and change
  595.         your critical system settings. I have seen several different
  596.         types of BIOS setups, but generally, you use the CHANGE PASSWORD
  597.         command (Sometimes also listed as SUPERVISOR PASSWORD) from the
  598.         main menu and set the SECURITY OPTION to "Setup" (as opposed to
  599.         "System") in the BIOS FEATURES SETUP screen. Depending on the
  600.         layout of your BIOS, you may have a CHANGE SETUP PASSWORD option
  601.         right on the main menu.
  602.  
  603.  
  604.         3.2 Boot Sequence
  605.  
  606.         Change your boot sequence. Again, in your BIOS, under the BIOS
  607.         FEATURES SETUP screen, set your BOOT SEQUENCE to boot from your
  608.         hard drive first. (This usually means set it to C,A as opposed
  609.         to A,C). This will ensure that no-one can bypass Sentry by means
  610.         of a boot disk.
  611.  
  612.  
  613.         3.3 SWITCHES in CONFIG.SYS
  614.  
  615.         This step is not required for Windows 95 users.
  616.  
  617.         Add "switches /n/f" as the first line of your CONFIG.SYS file.
  618.         The /n will disallow pressing F8 or F5. F8 allows users to step
  619.         through each command of the CONFIG.SYS and AUTOEXEC.BAT files,
  620.         and F5 gives them the option of skipping them all together. This
  621.         means that users cannot bypass Sentry by this method. The /f
  622.         switch is optional, it simply speeds up your boot-up time (by
  623.         about 2 seconds).
  624.  
  625.         This is automatically done if you update your system files
  626.         through the install program.
  627.  
  628.  
  629.         3.4 BootKeys in MSDOS.SYS
  630.  
  631.         This step is for Windows 95 users ONLY.
  632.  
  633.         Add the line "BootKeys=0" to your MSDOS.SYS file. This will
  634.         disable the use of F8, F4 or SHIFT to bypass the CONFIG.SYS and
  635.         AUTOEXEC.BAT files. Adding this line is therefore a must,
  636.         otherwise people will be able to defeat Sentry with the press of
  637.         a key. To edit your MSDOS.SYS file, you may need to issue the
  638.         command "attrib -h -s c:\msdos.sys" which will make it readable.
  639.         When you are finished, you should issue the command "attrib +h
  640.         +s c:\msdos.sys" which will restore it to it's previous
  641.         condition.
  642.  
  643.         This is automatically done if you update your system files
  644.         through the install program.
  645.  
  646.  
  647.         3.5 BREAK in CONFIG.SYS
  648.  
  649.         You must also check your CONFIG.SYS file for any BREAK commands.
  650.         If the command BREAK=ON is present, delete it! This command may
  651.         allow users to break out of the CONFIG.SYS file, which is wrong!
  652.         If BREAK=OFF exists, that is ok (since that is the DOS default,
  653.         and it is secure), however you must get rid of any BREAK=ON
  654.         commands.
  655.  
  656.         This is automatically done if you update your system files
  657.         through the install program.
  658.  
  659.  
  660.         3.6 Passwords
  661.  
  662.         Pick a good password. Short passwords are a bad idea, as well as
  663.         birthdays, girlfriends names, etc. Anything that is easy to
  664.         guess should be avoided. Good passwords are not words at all,
  665.         but made up from a "mnemonic" sentence. For example, the
  666.         sentence "I'll wait for you" turns into "Illw84u" (trust me).
  667.         Mixing lower case letters, upper case letters, and numbers
  668.         increases the security of a password, and passwords of this type
  669.         are near impossible to guess or crack. Do not write your
  670.         password down, especially near your computer. Try to memorize it
  671.         if possible. Change your password, but not too often. People who
  672.         change their passwords too often (less than 6 months or so) tend
  673.         to write them down, which is a bigger risk. Don't enter your
  674.         password with someone looking over your shoulder. If someone is
  675.         in the room, block their view, or wait until they leave.
  676.  
  677.  
  678.         3.7 Placement in AUTOEXEC.BAT
  679.  
  680.         When you are installing Sentry, make sure it is the FIRST file
  681.         in your AUTOEXEC.BAT! Otherwise, the user may be able to exit
  682.         when another program is running and avoid Sentry all together!
  683.  
  684.         This is automatically done if you update your system files
  685.         through the install program.
  686.  
  687.  
  688.         3.8 Keep a Backup
  689.  
  690.         Keep a backup copy of all your Sentry files! If something
  691.         happens to these files, you may be locked out your computer if
  692.         you don't have a backup. It is best to copy your entire Sentry
  693.         directory to a floppy disk about once a week, so you won't be
  694.         caught short.
  695.  
  696.  
  697.         4.0 Logging In
  698.         ==============
  699.  
  700.         4.1 The Login Procedure
  701.  
  702.         When you first run Sentry, you should see the standard startup
  703.         screen. Your registration information is contained here. (The
  704.         shareware release simply says it is registered to Shareware).
  705.         You should also see a prompt asking you to enter your login (or
  706.         user name). If instead you see an error message, check at the
  707.         end of this file for help.
  708.  
  709.         While entering your user name, if you have SuperUser access, you
  710.         can log in as such. You can do this by holding down the CTRL key
  711.         while pressing enter (CTRL-ENTER). If you do not have SuperUser
  712.         access, or do not wish to log in as such, simply press enter. In
  713.         either case, this will send you to the password prompt.
  714.  
  715.         Once you have reached the password prompt, you simply enter your
  716.         password, and hit enter when you are finished. Your password is
  717.         not echoed to the screen.
  718.  
  719.         The minimum and maximum length of both the login and password
  720.         are set by initialization settings. If you wish to change these,
  721.         you must do so from the SuperUser menu.
  722.  
  723.         After correctly entering your password, Sentry will search for
  724.         any messages addressed to you. If you have a message waiting, it
  725.         will be displayed. Pressing 'd' will delete that message, and
  726.         'r' will reply to it. After replying, you will be asked if you
  727.         want to delete the original message. Each message is displayed
  728.         individually.
  729.  
  730.         Next, the date and time of your last login will be displayed. If
  731.         there have been any invalid login attempts made against your
  732.         account since the last valid login, you will be told so, and how
  733.         many. If the number of invalid login attempts against your
  734.         account has exceeded the maximum allowed, your account will be
  735.         locked out until the SuperUser resets it.
  736.  
  737.         If your account has expired, it will say so, and subsequently
  738.         lock you out. If your password has expired, it will also say so,
  739.         but will then prompt you to enter a new password. You may not
  740.         re-use your old password, and you must pick a password that
  741.         corresponds to the length limits set out by the initialization
  742.         settings. Once you have entered and verified your new password,
  743.         it is given a new expiry date according to the default (again
  744.         determined by the initialization settings).
  745.  
  746.         If you have logged in as a SuperUser, and have SuperUser access,
  747.         you will now be in the SuperUser menu (see the section below).
  748.         If not, you will simply be dropped to DOS, and the login
  749.         procedure is complete.
  750.  
  751.  
  752.         4.2 Changing Passwords
  753.  
  754.         If you wish to change your password at any time, you can do so
  755.         by entering the pass key. The pass key is defined in the
  756.         initialization settings, and is displayed when Sentry starts up.
  757.         The default pass key is "passwd". To change your password,
  758.         simply enter your user name as usual, and when prompted for your
  759.         password, enter the pass key. You will then be prompted for your
  760.         old  password (to make sure it is really you), and then you will
  761.         be asked for your new password, which will be verified and saved
  762.         to disk. Your new password will expire in the number of days
  763.         designated by the initialization settings.
  764.  
  765.         Changing your password has no effect on SuperUser access.
  766.  
  767.  
  768.         5.0 The SuperUser Menu
  769.         ======================
  770.  
  771.         The SuperUser menu is where most of the important actions take
  772.         place. From here it is easy to perform system administrator
  773.         tasks, and maintain user accounts. The following options are
  774.         shown on the SuperUser menu:
  775.  
  776.             1.  User Maintenance Menu
  777.             2.  Log File Maintenance Menu
  778.             3.  System Maintenance Menu
  779.             4.  Sentry DOS Shell
  780.             5.  Exit
  781.  
  782.         Hotkeys can be used to jump to any sub-menu at any time. The
  783.         keys are:
  784.  
  785.         U - User Manitenance Menu
  786.         L - Log File Maintenance Menu
  787.         S - System Maintenance Menu
  788.  
  789.         Note that to avoid conflicts with other hotkeys, the menu
  790.         hotkeys are all upper case.
  791.  
  792.         Each option on the main SuperUser menu is described below.
  793.  
  794.  
  795.         5.1  User Maintenance Menu
  796.  
  797.         The User Maintenance Menu contains all actions that affect
  798.         users. The following options can be accessed through the User
  799.         Maintenance Menu:
  800.  
  801.             1.  Create User
  802.             2.  Delete User
  803.             3.  View Users
  804.             4.  Toggle SuperUser Status
  805.             5.  Change Account Exipry Date
  806.             6.  Change Password Expiry Date
  807.             7.  Change Account Password
  808.             8.  Assign Max Invalid Logins
  809.             9.  Return to SuperUser Menu
  810.  
  811.         Each option is described below.
  812.  
  813.         5.1.1  Create User
  814.  
  815.         This option allows you to create users on your system. First of
  816.         all, you must enter the username (or login) you wish to assign
  817.         to that user. If you wish to create a user with SuperUser
  818.         status, type in the username and hold down the CTRL key when
  819.         pressing enter. Otherwise, just press enter. Once that is
  820.         complete, Sentry asks for the password. The password is not
  821.         echoed to the screen. The user should choose and enter their own
  822.         password. SuperUsers need not know what the passwords are since
  823.         they can still manage the accounts without knowing them. The
  824.         password is entered twice to ensure no typos were made, and then
  825.         saved in encoded form. The ESC key will abort this operation at
  826.         any time.
  827.  
  828.         Note: There is currently a maximum of 100 users allowed. This
  829.         limit can be bypassed if required (contact me for a larger
  830.         capacity version).
  831.  
  832.  
  833.         5.1.2  Delete User
  834.  
  835.         The delete option is very simple. It brings up a list of all
  836.         users, and you simply use the cursor keys to highlight the user
  837.         you wish to delete. SuperUsers are denoted by a * to the right
  838.         of their username. Press enter to select the appropriate user.
  839.         If the selected user is a SuperUser, Sentry will give a warning.
  840.         SuperUser or not, Sentry will then ask if you are sure you want
  841.         to delete them. Any input other than a 'y' will not perform the
  842.         delete. The ESC key will abort this option at any time.
  843.  
  844.  
  845.         5.1.3  View Users
  846.  
  847.         This option allows you to view all users who currently have
  848.         accounts on your system. SuperUsers are again denoted by a * to
  849.         the right of their login name. The last login date/time, account
  850.         expiry date and password expiry date are also shown to the right
  851.         of the user's login name. In addition, the number of invalid
  852.         logins since the users last valid login are shown with the
  853.         number of invalid logins allowed before an account is locked up.
  854.         An "X" in the "Max Inv Log" (Maximum Number of Invalid Logins
  855.         Allowed) column means there is no limit. You can use the PAGE UP
  856.         and PAGE DOWN keys to scroll forward and back if there are
  857.         multiple pages of users.
  858.  
  859.         Some information on this screen may be highlighted, if the View
  860.         Highlighting option is turned on. Below is a list of information
  861.         that is automatically hightlighted by Sentry:
  862.  
  863.         - Superusers         - Accounts that have not been used recently
  864.         - Expired Accounts   - Expired Passwords
  865.         - Exceeded maximum invalid logins
  866.  
  867.         At any time while viewing the userlist, you may press the DEL
  868.         key to delete the current user, or press the INS key to insert a
  869.         new user at the end of the list.
  870.  
  871.         Arrows will be present if there are additional pages
  872.         above/below. The ESC key will exit back to the main menu.
  873.  
  874.  
  875.         5.1.4  Toggle SuperUser Status
  876.  
  877.         When this option is selected, it first brings up a list of all
  878.         users on the system. Again, SuperUsers are denoted by a *. Once
  879.         you have selected a user, Sentry will ask you if you want to
  880.         grant/revoke SuperUser access to/from the appropriate user. Any
  881.         input other than a 'y' will not change that users status. Now
  882.         the user must enter a password. (Since the SuperUser status is
  883.         encoded in the password, and the password can never be decoded,
  884.         I can't change SuperUser access without resetting the password).
  885.         The user can re-enter their old password, or enter a new one
  886.         (the old one will be over-written). In a worst case scenario,
  887.         the SuperUser can re-assign a new password to the user if he is
  888.         unavailable to enter a new password himself. (A hostile user can
  889.         have SuperUser access revoked without having to enter a new
  890.         password; you can do it for him).
  891.  
  892.  
  893.         5.1.5  Change Account Exipry Date
  894.  
  895.         This option lets you define when an account will expire on your
  896.         system. Expired accounts no longer have access. This option is
  897.         useful if a user will be leaving. Then you don't have to
  898.         remember to delete their account on the day they leave. You can
  899.         set it to expire, and delete it when you remember.
  900.  
  901.         This option also works in conjunction with the "Assign Max
  902.         Invalid Logins" option. Once an account reaches it's maximum
  903.         number of sequential invalid logins, it expires. The only way to
  904.         re-activate the account is to change the expiry date with this
  905.         option.
  906.  
  907.         Once you select this option, some information about the account
  908.         will be displayed. If it is a SuperUser account, Sentry will
  909.         tell you so. It will then display the account's current expiry
  910.         date. You will be asked if you are sure you want to change that
  911.         user's expiry date. Any input other than a 'y' will abort the
  912.         process, otherwise you will be prompted for the year the account
  913.         will expire. The year must be entered as 4 digits (IE: 1997). If
  914.         you enter 'N' at the year prompt, no expiry date is assigned to
  915.         that account (it is valid forever). If you enter a valid year,
  916.         you will then be prompted for the expiry month, which is entered
  917.         as 2 digits (IE: 06 for June) followed by the expiry day, which
  918.         is also entered as 2 digits. Accounts expire at one second past
  919.         midnight on the date of expiry.
  920.  
  921.  
  922.         5.1.6  Change Password Expiry Date
  923.  
  924.         This option lets you define when a users password will expire.
  925.         Once the password has expired, the user must enter a new one.
  926.         This forces the user to change their password. Once a password
  927.         has expired, the next time the user logs in he will be forced to
  928.         enter a new password. The new password is valid for the number
  929.         of days set by the initialization settings. Once a password has
  930.         expired, the user cannot re-enter it. He must select a new
  931.         password. (NOTE: Sentry does not keep historical records on
  932.         passwords, so a user may alternate back and forth between 2
  933.         passwords. This is not a secure practice and should be avoided).
  934.  
  935.         Once you select this option, some information about the account
  936.         will be displayed. If it is a SuperUser account, Sentry will
  937.         tell you so. It will then display the current expiry date for
  938.         the password. You will be asked if you are sure you want to
  939.         change that user's expiry date. Any input other than a 'y' will
  940.         abort the process, otherwise you will be prompted for the year
  941.         the password will expire. The year must be entered as 4 digits
  942.         (IE: 1997). If you enter 'N' at the year prompt, no expiry date
  943.         is assigned to that password (it is valid forever). If you enter
  944.         a valid year, you will then be prompted for the expiry month,
  945.         which is entered as 2 digits (IE: 06 for June) followed by the
  946.         expiry day, which is also entered as 2 digits. Passwords expire
  947.         at one second past midnight on the date of expiry.
  948.  
  949.  
  950.         5.1.7  Change Account Password
  951.  
  952.         This option allows the SuperUser to change an account's
  953.         password, in case the user forgot it, or some other strange
  954.         disaster has occurred. When assigning a new password to an
  955.         account, you should set the expiry date to be immediately, so
  956.         the user is forced to choose a new one. If the previous password
  957.         had no expiry date, none is assigned to the new password.
  958.         Otherwise the password expires in the number of days assigned in
  959.         the initialization settings. You can abort at any time by
  960.         pressing the ESC key.
  961.  
  962.  
  963.         5.1.8  Assign Max Invalid Logins
  964.  
  965.         This allows you to set the maximum number of invalid logins
  966.         allowed before an account is disabled. The default number is
  967.         defined in the initialization settings, and is assigned to all
  968.         accounts when they are first used.
  969.  
  970.         To assign a new maximum, simply select the "Assign Max Invalid
  971.         Logins" option from the SuperUser menu. From here you will be
  972.         shown the complete user list, and asked to select the user you
  973.         wish to change. Pressing the ESC key will abort the operation
  974.         here.
  975.  
  976.         Once you have selected the user, you will be informed if that
  977.         user is a SuperUser. NOTE: You should not assign a maximum
  978.         number of invalid logins to your last SuperUser account. If you
  979.         do, and someone attempts to break in to that account, you could
  980.         be locked out of the SuperUser menu!
  981.  
  982.         Next you will be told what the user's current max invalid login
  983.         setting is, and asked if you want to change it. Any input other
  984.         than a 'Y' will abort the operation. Now you will be asked to
  985.         enter the number of invalid login attempts before an account is
  986.         disabled. Entering 'N' or a 0 will mean that there can be
  987.         unlimited invalid login attempts made.
  988.  
  989.         Please note that a value of less than 10 may cause you more
  990.         trouble than good. You may be spending a lot of time re-setting
  991.         accounts if you pick too low a value, so consider this
  992.         carefully. Also note that when an account is locked up, it is
  993.         actually set to expire immediately. As a result, if you wish to
  994.         re-activate an account, you must change the account's expiry
  995.         date (see above). This is also handy for determining when the
  996.         account was actually de-activated. The expiry date for that
  997.         account it set the day it was locked out.
  998.  
  999.         Every time a successful login is made to an account, the invalid
  1000.         login counter is reset. This means that an account will not be
  1001.         locked out if it has a valid login before the maximum is
  1002.         reached. (For example, say an account has a maximum of 10
  1003.         invalid logins. If there are 7 invalid logins before a
  1004.         successful login, and then 5 more invalid logins, the account
  1005.         will not be locked up. There must be 10 sequential invalid
  1006.         logins for the account to be disabled.)
  1007.  
  1008.         Once you have finished making the change, you can view the user
  1009.         list to make sure it is acceptable.
  1010.  
  1011.  
  1012.         5.1.9  Return to SuperUser Menu
  1013.  
  1014.         This option simply returns you to the SuperUser menu. It is the
  1015.         same as hitting the ESC key.
  1016.  
  1017.  
  1018.         5.2  Log File Maintenance Menu
  1019.  
  1020.         The Log File Maintenance Menu contains all actions required to
  1021.         manage the log file. The following options can be accessed
  1022.         through the Log File Maintenance Menu:
  1023.  
  1024.             1. View Log File
  1025.             2. View Backup Log File
  1026.             3. Move Log File to Backup
  1027.             4. Return to SuperUser Menu
  1028.  
  1029.         Each option is described below.
  1030.  
  1031.  
  1032.         5.2.1  View Log File
  1033.  
  1034.         Every time a user logs in, a record is kept on disk. If you want
  1035.         to view that online record, select this option. You will be
  1036.         asked if you want view to the log file for one or all users.
  1037.         Entering 'o' (for one user) will bring you to the userlist,
  1038.         where you can select the user you wish to view. Any other input
  1039.         will show the log for all users.
  1040.  
  1041.         The log file will be displayed one screen at a time. You can
  1042.         press ESC at any time to skip to the end of the file. Once the
  1043.         entire log file has been displayed, Sentry will ask you if you
  1044.         want to clear the log file. If you were viewing a single user's
  1045.         log, Sentry will ask if you want to clear their file.
  1046.  
  1047.         Any input other than 'y' will exit, leaving the log file in
  1048.         tact. If you answer with a 'y', Sentry will clear out the old
  1049.         entries. When viewing the log for all users, that means that all
  1050.         entries will be removed. When viewing the log for a single user,
  1051.         only that user's entries will be removed.
  1052.  
  1053.         The log file itself will not consume much disk space, and so it
  1054.         should be left in tact for historical reasons. You may find it
  1055.         necessary to refer back to the log file to verify certain
  1056.         events. If disk space is a constraint, you can use the "Move Log
  1057.         File to Backup" option described later.
  1058.  
  1059.         You should always keep a close eye on the log file as this will
  1060.         often tell you when something is wrong on your system. All error
  1061.         messages are saved to the log file, so you can see if Sentry has
  1062.         run into any problems. Also, it records the current time, and
  1063.         the username of the user attempting to log in. This will help
  1064.         you to identify any potential attacks on your system. The log
  1065.         file is hidden by Sentry, but you should also place it somewhere
  1066.         safe so that users cannot tamper with it. You can set the
  1067.         location of the log file via the initialization settings.
  1068.  
  1069.  
  1070.         5.2.2  View Backup Log File
  1071.  
  1072.         This option is the same as "View Log File" except it allows you
  1073.         to view the information you have backed up. This is strictly for
  1074.         historical purposes, so log file information is not lost.
  1075.  
  1076.  
  1077.         5.2.3  Move Log File to Backup
  1078.  
  1079.         This moves all of the information in the current log file to the
  1080.         backup file. The backup file is not overwritten, the new
  1081.         information is appended to it. This makes it easier to manage
  1082.         when the log file gets large, but you don't want to clear it.
  1083.  
  1084.  
  1085.         5.2.4  Return to SuperUser Menu
  1086.  
  1087.         This option simply returns you to the SuperUser menu. It is the
  1088.         same as hitting the ESC key.
  1089.  
  1090.  
  1091.         5.3  System Maintenance Menu
  1092.  
  1093.         The System Maintenance Menu contains functions which allow the
  1094.         SuperUser to perform special functions or system related tasks.
  1095.         The following options can be accessed through the System
  1096.         Maintenance Menu:
  1097.  
  1098.             1. Edit Initialization Settings
  1099.             2. Send a Message to a User
  1100.             3. Protect a File
  1101.             4. Export Initialization Settings
  1102.             5. Security Audit
  1103.             6. Modify Shell Commands
  1104.             7. Return to SuperUser Menu
  1105.  
  1106.         Each option is described below.
  1107.  
  1108.  
  1109.         5.3.1  Edit Initialization Settings
  1110.  
  1111.         This option allows you to edit the initialization settings.
  1112.         After installation, it is critical that you go through each and
  1113.         every attribute, and make sure it is set to your liking. Many of
  1114.         the initialization settings have serious implications on
  1115.         security. Once this option is selected, all of the attributes
  1116.         are displayed. Simply select the attribute you wish to modify,
  1117.         and you will be given the following information:
  1118.  
  1119.                 - A one line description of the attribute.
  1120.  
  1121.                 - A brief description of the attribute and it's uses.
  1122.  
  1123.                 - Valid settings for the attribute, if applicable.
  1124.  
  1125.                 - Any security notes, if applicable.
  1126.  
  1127.                 - The default value for the attribute.
  1128.  
  1129.                 - The current value for the attribute.
  1130.  
  1131.         At this time, you will be prompted to enter a new value for the
  1132.         attribute. Pressing ENTER on a blank line, or pressing the ESC
  1133.         key abort any changes the current value.
  1134.  
  1135.         Sentry performs strict checking on the values you enter, and
  1136.         will not save an invalid value.
  1137.  
  1138.         Any changes take place immediately.
  1139.  
  1140.         See section 10 for details on individual settings.
  1141.  
  1142.  
  1143.         5.3.2  Send a Message to a User
  1144.  
  1145.         This option allows the SuperUser to send a one-line message to
  1146.         any user on the system (including themselves). Once this option is
  1147.         selected, you must pick the user you wish to send a message to
  1148.         from the list of all users. Once this is done, you will be
  1149.         prompted for your one-line message. If you wish to send more
  1150.         than one line, simply send two messages to the same user. After
  1151.         you have entered your message, you will be returned to the
  1152.         SuperUser menu. The next time that person logs in, your message
  1153.         will be displayed, including:
  1154.  
  1155.           - Who the message is from
  1156.           - The time and date the message was sent
  1157.           - The message itself
  1158.  
  1159.         The user then has the option to delete or reply to the message.
  1160.         If they do not delete the message, they will also see it on
  1161.         their next login.
  1162.  
  1163.         NOTE: Messages are displayed before any login information, so
  1164.         you can send messages to users that are locked out. That way, if
  1165.         you wish to send an explanation, you can.
  1166.  
  1167.  
  1168.         5.3.3  Protect a File
  1169.  
  1170.         This option allows you to protect executable files (.EXE, .COM
  1171.         and .BAT). When this option is selected, it prompts for the file
  1172.         name. You must enter a path to a file that exists, and the file
  1173.         must be executable. If the file name is correct, Sentry then
  1174.         processes that file, and "protects" it. Protection means that
  1175.         the next time that file is run, Sentry will execute. If the user
  1176.         enters a valid login and password, then the original file
  1177.         executes. If not, then the file is not executed.
  1178.  
  1179.         This is useful for protecting individual files. After all, if a
  1180.         person successfully logs into your computer, they have free
  1181.         access to anything there. This will allow you to tighten up
  1182.         access to individual files.
  1183.  
  1184.         The current method of protection does not work with all files.
  1185.         That is to say, I have tested it on some files that do not run
  1186.         correctly once protected. (It seems to be memory or video
  1187.         conflicts). Currently, a protected file has about 100k less
  1188.         memory available to it than if it was run normally. Also,
  1189.         protecting programs that run within Windows does not work. These
  1190.         issues are "on the list" for research.
  1191.  
  1192.         See section 7 for specific details on protecting files.
  1193.  
  1194.  
  1195.         5.3.4  Export Initialization Settings
  1196.  
  1197.         Selecting this option will export the Initialization Settings.
  1198.         This will allow you to use the same settings and account
  1199.         structure when you upgrade. The process for this is simple.
  1200.         Select this option, and it will export the settings. Now simply
  1201.         unzip the new SentryXX.zip into your directory (overwriting all
  1202.         files), and run the Install.exe program. Install will
  1203.         automatically sense the exported information, and ask if you
  1204.         want to use it. If you say yes, the settings are automatically
  1205.         updated to the new version, and loaded in.
  1206.  
  1207.         Please note that you should not export the settings unless you
  1208.         plan to import them right away into a new version (dumping your
  1209.         settings without using them  can cause a slight security risk).
  1210.  
  1211.  
  1212.         5.3.5  Security Audit
  1213.  
  1214.         This is one of the more powerful options in Sentry. Selecting
  1215.         this option will cause Sentry to automatically search for
  1216.         weaknesses in your setup. The audit searches in three main
  1217.         areas:
  1218.  
  1219.             - System
  1220.             - Initialization Settings
  1221.             - Account Structure
  1222.  
  1223.         Upon entering the audit screen, a list of all possible items
  1224.         which can be audited is displayed. This allows for cases where
  1225.         some items need not be audited. To select the item(s) to audit,
  1226.         simply highlight the item in question and press the space bar.
  1227.         An [X] denotes an item to be audited, where an [ ] denotes that
  1228.         the item will not be checked. Once all the desired items have
  1229.         been selected, pressing ENTER will begin the audit.
  1230.  
  1231.         As each of the selected items is tested, the user will be
  1232.         informed of Sentry's findings. If a section has no weaknesses
  1233.         detected, then an "Ok" will appear. Otherwise, Sentry will
  1234.         describe the weakness, and ask if you want to fix it. Pressing
  1235.         'y' will either fix the problem automatically, or prompt you to
  1236.         input a new setting, depending on the situation.
  1237.  
  1238.         In each section, the following items are checked during an
  1239.         audit:
  1240.  
  1241.             System
  1242.  
  1243.             Check for the following:
  1244.             - no "switches" line in CONFIG.SYS (non-Win95 only)
  1245.             - no "BootKeys" line in MSDOS.SYS (Win 95 only)
  1246.             - no call to Sentry from the AUTOEXEC.BAT file
  1247.             - a "break on" command in the CONFIG.SYS file
  1248.  
  1249.             Initialization Settings
  1250.  
  1251.             Check for the following:
  1252.             - a short max or short min password length
  1253.             - a high number for maximum login attempts
  1254.             - a low number for wait delay
  1255.             - password echoing should be off or masked
  1256.             - a password expiry max of over 365 days
  1257.             - an unused account expiry max of over 365 days
  1258.             - a long wait for the screen saver (over 600)
  1259.             - case sensitivity is off
  1260.             - secure deletion is off
  1261.  
  1262.             Accounts
  1263.  
  1264.             Check for the following:
  1265.             - accounts that have expired
  1266.             - SuperUser accounts with a max inv log setting
  1267.             - normal accounts with no max inv log setting
  1268.             - accounts where the number of failed login attempts is
  1269.                 exceeded
  1270.             - accounts with no expiry date
  1271.             - passwords with no expiry date
  1272.  
  1273.         As a SuperUser, you should run the audit frequently. If all is
  1274.         well, it completes in a few seconds, but it can alert you to
  1275.         potential problems or suspicious activity that you might not be
  1276.         aware of otherwise.
  1277.  
  1278.         The message "Audit Complete" will appear when the audit is
  1279.         finished. At this point, the user may press any key to return
  1280.         to the SuperUser menu.
  1281.  
  1282.  
  1283.         5.3.6  Modify Shell Commands
  1284.  
  1285.         This option allows the SuperUser to control the commands
  1286.         are available to users at the DOS prompt. This option can be
  1287.         extremely valuable when implementing a total security plan.
  1288.  
  1289.         To begin with, the SuperUser is prompted for the location of the
  1290.         command interpreter. This is usually located in the root
  1291.         directory (C:\), or in C:\DOS for regular DOS installations, or
  1292.         in C:\windows for Windows 95 users. Sentry will use the location
  1293.         held in the COMSPEC environment variable as the default, making
  1294.         it easier for you to find the right file.
  1295.  
  1296.         Once you enter the location of your command interpreter, Sentry
  1297.         scans it in an attempt to discover what commands it controls. If
  1298.         Sentry cannot find any valid commands, it will inform the
  1299.         SuperUser, and nothing will be modified.
  1300.  
  1301.         If Sentry can locate some commands, they will be displayed in a
  1302.         menu format. At this point, the user may disable or edit any of
  1303.         the commands shown.
  1304.  
  1305.         NOTE: It is *strongly* advised that a bookdisk is made before
  1306.         attempting any changes to your command interpreter. Although
  1307.         Sentry has been tested successfully on various command
  1308.         interperters (such as DOS 6.22, Windows 95 an Noron DOS), it may
  1309.         act in an inconsistent manner when faced with an unknown
  1310.         format.
  1311.  
  1312.         To disable a command, simply hit 'd' once. Hitting 'd' again
  1313.         will re-enable the command. To edit a command, simply hit 'e'
  1314.         and you will be prompted for the new command.
  1315.  
  1316.         ANOTHER NOTE: Is is also very advisable to make the new command
  1317.         the same length as the old command. Changing the length of a
  1318.         command can also have unpredicatable results, and is less likely
  1319.         to work.
  1320.  
  1321.         On the menu, commands that have been disabled are designated
  1322.         with a 'X', while commands that have been edied are designated
  1323.         with a '*', and commands that have not been modified are
  1324.         designated with a '-'.
  1325.  
  1326.         Once all required changes have been made, simply press enter.
  1327.         All changes will be summarized, to make sure no mistakes have
  1328.         been made. At this point, the SuperUser should ensure that all
  1329.         changes look ok, and then either accept or reject them.
  1330.  
  1331.         If the changes are accepted, Sentry runs the modified command
  1332.         interpreter as a test, before replacing the real interpreter.
  1333.         This means that if there are any problems, you can discard the
  1334.         changes, and start again.
  1335.  
  1336.         When the new shell runs, make sure you test it thoroughly. Don't
  1337.         perform any "large" operations or run any major programs, as
  1338.         that may upset the process. Once you are satisfied, type "EXIT"
  1339.         to return to Sentry, where you will be asked if there were any
  1340.         problems.
  1341.  
  1342.         If you answer 'N' to this prompt, your command interperter will
  1343.         be replaced with the new one, effectively making the changes
  1344.         permanent. Any other input will discard the changes.
  1345.  
  1346.         ONE FINAL NOTE: It is advisable to keep a "clean" copy of your
  1347.         COMMAND.COM somewhere safe, as you may want it later. Many of
  1348.         the changes you make throguh Sentry can also be undone through
  1349.         Sentry, however it is much safer to simply restore your original
  1350.         from backup. The more times you modify the same command
  1351.         interpreter, the greater the chance of something going wrong.
  1352.  
  1353.  
  1354.         5.3.7  Return to SuperUser Menu
  1355.  
  1356.         This option simply returns you to the SuperUser menu. It is the
  1357.         same as hitting the ESC key.
  1358.  
  1359.  
  1360.         5.4  Sentry DOS Shell
  1361.  
  1362.         Selecting this option temporarily drops the SuperUser to a DOS
  1363.         shell where they can execute any normal DOS commands. This shell
  1364.         has limited memory and environment space, and should only be
  1365.         used for simple file maintenance. Do not attempt to run any
  1366.         large or complicated files while in the DOS shell.
  1367.  
  1368.         Type "EXIT" to return to the SuperUser menu.
  1369.  
  1370.  
  1371.         5.5  Exit
  1372.  
  1373.         This simply returns you to the DOS prompt. It is the same as
  1374.         pressing the ESC key.
  1375.  
  1376.  
  1377.         6.0 Using Sentry With Windows
  1378.         =============================
  1379.  
  1380.         6.1 General
  1381.  
  1382.         Sentry is also adaptable to Windows, allowing you to keep users
  1383.         away from DOS. This may be desirable if you enter Windows
  1384.         immediately upon startup (I.E.: your AUTOEXEC.BAT contains "win"
  1385.         as a command). If you want to limit access to your system as a
  1386.         whole, you could install Sentry in the usual way. This would
  1387.         keep out unwanted users all together. If you want to also limit
  1388.         access to the DOS prompt from Windows, you can do that too. All
  1389.         you must do is create a new instance of Sentry (see below), and
  1390.         then simply set up your windows to run Sentry when you drop to
  1391.         DOS. The example setup below assumes you have installed an
  1392.         instance of Sentry in c:\Sentry\Inst1, but you can substitute
  1393.         your actual directory names in where applicable.
  1394.  
  1395.  
  1396.         6.2 Installation Procedure
  1397.  
  1398.         Installing Sentry in the Windows environment is simple. Included
  1399.         in the Sentry zip file are 2 files:
  1400.  
  1401.         Sentry.grp
  1402.         Sentry.pif
  1403.  
  1404.         Both of these will be copied to your windows directory during
  1405.         the install. Enter Windows and from the Program Manager, select
  1406.         [F]ile, then [N]ew. Next select Program Group. When prompted,
  1407.         enter "Sentry" for both description and file name. Now you
  1408.         should see a new program group called Sentry. The Sentry program
  1409.         group should contain a single icon, labeled MS-DOS. This icon
  1410.         actually points to sentry.pif, which contains specific
  1411.         information about running Sentry.
  1412.  
  1413.         You can edit the new icon (highlight it and press ALT-ENTER) and
  1414.         change the working directory to point to your Sentry files.
  1415.  
  1416.         IE: c:\Sentry, or c:\Sentry\Inst1, etc.
  1417.  
  1418.         From here, run the Pif Editor program (the icon is a little
  1419.         tag), and open Sentry.pif. Now change the "Program Filename" to
  1420.         point to your Sentry.exe file.
  1421.  
  1422.         IE: c:\Sentry\Sentry.exe, or c:\Sentry\Inst1\Sentry.exe, etc.
  1423.  
  1424.         In Addition, change the "Working Directory" to be the same as
  1425.         the working directory for the icon (see above). Once you save
  1426.         the .pif file, you are all set.
  1427.  
  1428.         At this point you should test out the new Sentry icon to make
  1429.         sure it works ok. When you double click on the new icon, it
  1430.         should take you directly to Sentry. Once you have entered a
  1431.         correct username and password, it will then drop you to a
  1432.         regular DOS shell. You can type "EXIT" to return to Windows at
  1433.         any time.
  1434.  
  1435.         Once you are sure it works, remove your old MS-DOS icon, so that
  1436.         users cannot use it to drop straight to DOS. You can drag your
  1437.         new icon into the same location as your old MS-DOS icon, so
  1438.         everything will look the same.
  1439.  
  1440.         Now there is one last step. If a user were to exit Windows, they
  1441.         would be at the DOS level, which is not what we want. Since your
  1442.         AUTOEXEC.BAT file is running windows on startup, you can block
  1443.         people from exiting by forcing them to go through Sentry. You
  1444.         can do this by adding a call to Sentry after the win command in
  1445.         your AUTOEXEC.BAT.
  1446.  
  1447.         For example, the last lines of your AUTOEXEC.BAT might look like
  1448.         this:
  1449.  
  1450.         ----------------- CUT ----------------
  1451.         win
  1452.         \Sentry\Inst1\Sentry
  1453.         ----------------- CUT ----------------
  1454.  
  1455.         Alternatively, you can add the security measures offered by the
  1456.         install program.
  1457.  
  1458.         If it seems like a complicated process, just try the steps one
  1459.         at a time, and make sure everything works ok. The end result is
  1460.         that when you click on the MS-DOS icon, it will run Sentry
  1461.         before dropping you to the DOS shell. That means that you can
  1462.         limit access to the operating system, without pulling any fancy
  1463.         tricks in Windows. Since you have made a new instance of Sentry,
  1464.         you could have one instance run when you boot up (giving access
  1465.         to windows), and have another instance run when you click on the
  1466.         DOS icon (giving access to the operating system). That way, a
  1467.         user that has access to your PC may not be able to drop to DOS.
  1468.  
  1469.         Be warned that Sentry will still lock up your terminal if a user
  1470.         fails to log in. If this happens in Windows, you may be able to
  1471.         recover back to Windows by pressing CTRL-ALT-DELETE and closing
  1472.         the DOS prompt. This will still not allow access to DOS, but you
  1473.         will not lose anything you were working on.
  1474.  
  1475.  
  1476.         6.3 Windows 95
  1477.  
  1478.         Sentry is easily adaptable to use in a Windows 95 environment.
  1479.         In most respects, the setup is the same as in a DOS/Windows
  1480.         environment.
  1481.  
  1482.         The primary difference with Windows 95 is instead of adding the
  1483.         line "switches /n/f" to your CONFIG.SYS file, you must add the
  1484.         following line to your MSDOS.SYS file:
  1485.  
  1486.         BootKeys=0
  1487.  
  1488.         This will disable the use of F8, F4 or SHIFT to bypass the
  1489.         CONFIG.SYS and AUTOEXEC.BAT files. Adding this line is therefore
  1490.         a must, otherwise people will be able to defeat Sentry with the
  1491.         press of a key. To edit your MSDOS.SYS file, you may need to
  1492.         issue the command "attrib -h -s c:\msdos.sys" which will make it
  1493.         readable. When you are finished, you should issue the command
  1494.         "attrib +h +s c:\msdos.sys" which will restore it to it's
  1495.         previous condition.
  1496.  
  1497.         As before, ensure that the call to Sentry is at the beginning of
  1498.         your AUTOEXEC.BAT file. The Sentry.pif file and Sentry.grp file
  1499.         will still work with Windows 95, although at this time I have
  1500.         not drawn up specific instructions for installation.
  1501.  
  1502.         I have not yet conducted thorough tests in a Windows 95
  1503.         environment, however documentation for this should be
  1504.         forthcoming in a future revision.
  1505.  
  1506.  
  1507.         7.0 Securing Other Programs
  1508.         ===========================
  1509.  
  1510.         7.1 General
  1511.  
  1512.         In some cases, it might be beneficial to secure a single
  1513.         program. It might be a word-processor, Windows, or a potentially
  1514.         dangerous file like FORMAT.COM. In any case, you can secure it
  1515.         with Sentry, even if you don't use Sentry during boot-up.
  1516.  
  1517.  
  1518.         7.2 Setup
  1519.  
  1520.         To successfully protect your file, you must keep a backup.
  1521.         (Sentry cannot reverse the process of protecting a file!) This
  1522.         backup should not be kept anywhere accessible (IE: make a backup
  1523.         on floppy, and store it somewhere safe). After all, if a user
  1524.         can run an unprotected version of the file, why bother
  1525.         protecting it in the first place? It is wise to test the file
  1526.         once it has been protected to ensure it works as expected.
  1527.  
  1528.         To protect a file, simply chose "Protect a File" from the
  1529.         SuperUser menu. Sentry will ask for the file name of the file to
  1530.         protect. The file must be an executable (IE: it ends with .EXE,
  1531.         .COM or .BAT). Batch files are automatically converted into .EXE
  1532.         files. Once you have entered a correct file name, Sentry will
  1533.         then proceed to protect the file. When it is finished, you will
  1534.         be returned to the SuperUser menu. Your file is now protected!
  1535.  
  1536.         The applications for this type of protection are almost
  1537.         limitless. Use your imagination. If you come up with an
  1538.         innovative idea, I would be interested in hearing about it.
  1539.  
  1540.  
  1541.         7.3 Account Information
  1542.  
  1543.         The account structure for a given protected file is copied from
  1544.         the version of Sentry that protected the file, but is unique.
  1545.         That is, once a file is protected, a SuperUser can
  1546.         add/delete/modify any accounts for that protected file without
  1547.         affecting any other copies of Sentry. The initialization
  1548.         settings are treated in the same manner. Each protected file has
  1549.         their own unique copy.
  1550.  
  1551.         To change account information on a protected file, simply run
  1552.         the file, and when Sentry executes, log in as a SuperUser. You
  1553.         can now perform all SuperUser options as usual.
  1554.  
  1555.  
  1556.         7.4 Using Templates
  1557.  
  1558.         It is possible to set up "template" instances of Sentry for use
  1559.         when protecting files. This can be extremely useful as it saves
  1560.         the administrator a considerable amount of time, as well as
  1561.         decreasing the possibility of making a mistake.
  1562.  
  1563.         To use templates, you must set up several instances of Sentry
  1564.         (one for each template you wish to use). See section 8 for
  1565.         instructions on how to create an instance of Sentry.
  1566.  
  1567.         A sample setup could be as follows:
  1568.  
  1569.         c:\Sentry
  1570.              |
  1571.              +----+------- Private
  1572.                   |
  1573.                   +------- Public
  1574.                   |
  1575.                   +------- SemiPub
  1576.  
  1577.         Each of the instances shown above contain a complete copy of
  1578.         Sentry. Next simply modify the account structure of each
  1579.         instance to match the template. That is, the Private instance
  1580.         would contain only the SuperUser(s), the Public may contain all
  1581.         users, and the Semi-Public would contain the SuperUser(s) plus
  1582.         some users. Templates can be created to suit the needs of your
  1583.         individual site.
  1584.  
  1585.         Now you would use the Private instance as a template to protect
  1586.         exclusive executables, such as format.com. When you use the
  1587.         Private template, the protected file is automatically set to
  1588.         allow only SuperUsers to run it.
  1589.  
  1590.         Similarly, the Semi-Public template can be used for programs
  1591.         that only the SuperUser and a select number of users have access
  1592.         to.
  1593.  
  1594.         The advantage to using templates is that the administrator need
  1595.         only set up the account structure and initialization settings
  1596.         once. From that point forward it becomes the default for all
  1597.         files protected using that template.
  1598.  
  1599.  
  1600.         7.5 Running a Protected File
  1601.  
  1602.         To use a protected file, simply run it as usual. Now, instead of
  1603.         the program executing, Sentry will run. The user will be
  1604.         confronted with a login prompt, and they must enter a correct
  1605.         login and password to continue.
  1606.  
  1607.         An unsuccessful login will result in the user being locked out
  1608.         (as with Sentry in normal use). A successful login will simply
  1609.         run the protected file. Once the file is run, the user will be
  1610.         returned to whatever they were doing prior to execution (IE: the
  1611.         DOS prompt, etc).
  1612.  
  1613.         Command line arguments are passed to protected files in the same
  1614.         manner as usual. To run the file FORMAT with the argument A:, it
  1615.         would look like this:
  1616.  
  1617.         format a:
  1618.  
  1619.         which is identical to the usual way of passing command line
  1620.         arguments.
  1621.  
  1622.  
  1623.         7.6 Upgrading a Protected File
  1624.  
  1625.         Although it is not necessary to do so every time you upgrade
  1626.         your primary Sentry installation, protected files can also be
  1627.         upgraded with each new level of Sentry, if you wish.
  1628.  
  1629.         Caution:  Unlike upgrading Sentry, Initialization Settings can
  1630.                   NOT be exported from Protected Files.
  1631.  
  1632.         As with initial file protection (see 7.3 above), the account
  1633.         structure will be copied from the version of Sentry which you
  1634.         use to protect the file.  The SuperUser will then need to modify
  1635.         initialization settings and users to obtain the desired setup.
  1636.  
  1637.  
  1638.         8.0 Creating a new Instance of Sentry
  1639.         =====================================
  1640.  
  1641.         In some of the scenarios listed above, you may be required to
  1642.         create a new "instance" of Sentry. That is to say, a completely
  1643.         new copy of Sentry, that works independently of all other
  1644.         copies. This is a fairly simple process, that you can perform as
  1645.         many times as required.
  1646.  
  1647.         The first thing you must do when creating a new instance is to
  1648.         create the directory you wish to place it under. If you plan to
  1649.         have several instances, you may want to create a Sentry main
  1650.         directory, with your instances branching off of that. For
  1651.         example:
  1652.  
  1653.         c:\Sentry
  1654.              |
  1655.              +----+------- Inst1
  1656.                   |
  1657.                   +------- Inst2
  1658.  
  1659.         This will allow you to keep all your Sentry files well
  1660.         organized, and separate from your other programs. Create a
  1661.         directory for each instance you anticipate you will need. From
  1662.         there, simply copy ALL of the Sentry files into each directory.
  1663.  
  1664.         The final step is to set up the accounts of each instance
  1665.         according to your needs. To do this, you must go into each
  1666.         directory individually and run Sentry. Now log in as a SuperUser
  1667.         and set up all the required accounts. Remember that each
  1668.         instance is independent of the others. Your account information
  1669.         will not be the same for any 2 instances (otherwise there is no
  1670.         advantage to having 2 instances).
  1671.  
  1672.         You should always test out each instance and make sure it works
  1673.         before using it.
  1674.  
  1675.  
  1676.         9.0 Registration
  1677.         ================
  1678.  
  1679.         9.1 General
  1680.  
  1681.         If you use Sentry on your machine(s), I urge you to register. A
  1682.         lot of time and effort has been put into Sentry to make it a
  1683.         viable security program. With your help, Sentry can continue to
  1684.         adapt to new situations and keep abreast with any new
  1685.         developments in the field of computer security.
  1686.  
  1687.         On the other hand, I realize that not everyone can afford to
  1688.         register. In that case, please feel free to continue to use the
  1689.         ShareWare version. There are no limitations on how long or how
  1690.         many times it can be used. My intention with Sentry was to make
  1691.         a contribution to PC security, and to make it available to
  1692.         everyone. All I ask is that if you use Sentry, and are able,
  1693.         please register.
  1694.  
  1695.         The shareware version of Sentry has all the functionality of the
  1696.         registered version, with one exception: it does not encode
  1697.         passwords. This will allow you to test out all the functions of
  1698.         Sentry before you commit to purchasing it. The ShareWare version
  1699.         in itself is a very secure program as is, however if you are
  1700.         serious about security, plaintext passwords are not a viable
  1701.         option.
  1702.  
  1703.         To order, simply fill out the order form provided (Order.frm)
  1704.         and e-mail or snail-mail a copy to me.
  1705.  
  1706.  
  1707.         9.2 Benefits of Registration
  1708.  
  1709.         As a registered user, you will receive:
  1710.  
  1711.               - The full Sentry program (with password encryption) and
  1712.                 related files on 3.5" disk.
  1713.  
  1714.               - The additional utility SDEL, which allows you to delete
  1715.                 any file in a secure manner.
  1716.  
  1717.               - A laser printed user's manual (essentially this file,
  1718.                 with a few changes in format and content).
  1719.  
  1720.               - Unlimited install support to get you up and running
  1721.                 quickly.
  1722.  
  1723.               - Free upgrades as soon as they are available via the
  1724.                 internet.
  1725.  
  1726.               - Notices about any potential security risks, and
  1727.                 instructions on how to protect yourself.
  1728.  
  1729.               - The ability to request specific features in future
  1730.                 versions of Sentry.
  1731.  
  1732.               - A clear conscience knowing that you paid for your
  1733.                 software.
  1734.  
  1735.         NOTE: Registered versions are not inter-compatible. That is,
  1736.         user X's account information is encrypted differently than user
  1737.         Y's. The version of Sentry that you receive is good only for you
  1738.         and your files. (Likewise, nobody else can use their copy of
  1739.         Sentry with your account information).
  1740.  
  1741.  
  1742.         10.0 The Initialization Settings
  1743.         ================================
  1744.  
  1745.         Shown below are all of the initialization settings that may be
  1746.         changed within Sentry. A short description of each setting is
  1747.         included, as well as any security notes, and the default
  1748.         setting.
  1749.  
  1750.         10.1 Location of the Log File
  1751.  
  1752.         This contains the location of the log file. The log file should
  1753.         be kept somewhere safe, tucked away from prying eyes.
  1754.  
  1755.         NOTE: You should change the name of the file from Sentry.log to
  1756.         some other, inconspicuous name. Potential intruders will search
  1757.         for the Sentry.log file. You can hide it under misleading names
  1758.         such as file_id.diz, chklist.ms, warm.com etc etc.
  1759.  
  1760.         Default: c:\Sentry.log
  1761.  
  1762.  
  1763.         10.2 Location of the Backup Log File
  1764.  
  1765.         This contains the location of the backup log file. When the max
  1766.         log file size has been reached, half of the log file is
  1767.         automatically moved to the backup log file. This prevents the
  1768.         primary log file from getting too large.
  1769.  
  1770.         Default: c:\backup.log
  1771.  
  1772.  
  1773.         10.3 Location of the Message File
  1774.  
  1775.         This contains the location of the message file. The message file
  1776.         should be kept somewhere safe, tucked away from prying eyes.
  1777.  
  1778.         NOTE: You should change the name of the file from Sentry.msg to
  1779.         some other, inconspicuous name. Potential intruders will search
  1780.         for the Sentry.msg file. You can hide it under misleading names
  1781.         such as file_id.diz, chklist.ms, warm.com etc.
  1782.  
  1783.         Default: c:\Sentry.msg
  1784.  
  1785.  
  1786.         10.4 Minimum Password Length
  1787.  
  1788.         Sets the minimum length for passwords and logins.
  1789.  
  1790.         NOTE: A value of 4 should be the absolute minimum for
  1791.         MinPasswordLen. A value of 5 or 6 would be even better. Short
  1792.         passwords are much easier to stumble across since less attempts
  1793.         have to be made before it is guessed.
  1794.  
  1795.         Default: 4
  1796.  
  1797.  
  1798.         10.5 Maximum Password Length
  1799.  
  1800.         Sets the maximum length for passwords and logins.
  1801.  
  1802.         Default: 20
  1803.  
  1804.  
  1805.         10.6 Maximum Invalid Tries
  1806.  
  1807.         Sets the maximum times a user can attempt to log in before being
  1808.         locked out.
  1809.  
  1810.         NOTE: This should not be set too high. It is very rare for a
  1811.         legitimate user to botch a login attempt 3 times in a row. A
  1812.         potential intruder will usually have to make many attempts
  1813.         before getting anywhere. Setting MaxTries to around 3 will slow
  1814.         him down greatly, as he will have to reset after 3 failed
  1815.         attempts.
  1816.  
  1817.         Default: 3
  1818.  
  1819.  
  1820.         10.7 Wait Time After an Invalid Login
  1821.  
  1822.         Sets the delay in seconds to wait after the user fails to log
  1823.         in.
  1824.  
  1825.         NOTE: Setting the WaitTime to 3 or above greatly slows any
  1826.         methodical attempt to guess or discover passwords. It offers
  1827.         little inconvenience to the end users while providing added
  1828.         security.
  1829.  
  1830.         Default: 3
  1831.  
  1832.  
  1833.         10.8 Max Log File Size
  1834.  
  1835.         This sets the maximum size the log file can reach before the
  1836.         oldest half of it is automatically moved to the backup log file.
  1837.         The size is given in number of kilobytes (1024 bytes). A value
  1838.         of 0 means never backup the log file.
  1839.  
  1840.         Default: 20
  1841.  
  1842.  
  1843.         10.9 Key to Change Password
  1844.  
  1845.         Sets the "key" to enter as a password to change passwords.
  1846.  
  1847.         Enter '*' to disallow password changes by users.
  1848.  
  1849.         Default: passwd
  1850.  
  1851.  
  1852.         10.10 Password Echo Character
  1853.  
  1854.         Sets the character to be echoed to the screen when the password
  1855.         is being entered.
  1856.  
  1857.         Enter '?' to display no character.
  1858.         Enter '!' to display the actual character (not recommended).
  1859.  
  1860.         Default: *
  1861.  
  1862.  
  1863.         10.11 Days Until Passwords Expire
  1864.  
  1865.         Sets the number of days a password is good before it expires.
  1866.         This is the Default value used whenever a password is changed.
  1867.         Individual passwords can be set to expire on the SuperUser menu.
  1868.  
  1869.         NOTE: It is a good idea to have this set to between 180 and 365.
  1870.         Anything over a year is a security risk due to age. Anything
  1871.         under half a year is a risk because people will tend to forget
  1872.         their passwords and start writing them down. This setting should
  1873.         depend on how busy your system generally is.
  1874.  
  1875.         0 = Never expire passwords.
  1876.  
  1877.         Default: 365
  1878.  
  1879.  
  1880.         10.12 Days Until Accounts Expire
  1881.  
  1882.         Sets the number of days an unused account is good before it
  1883.         expires. This is the Default value used whenever an account is
  1884.         created. Individual accounts can be set to expire on the
  1885.         SuperUser menu.
  1886.  
  1887.         NOTE: This setting should depend on the level of activity on
  1888.         your system. Active systems can afford to have a lower setting
  1889.         than generally inactive settings. You should also take into
  1890.         consideration the probability of an intruder using an old
  1891.         account.
  1892.  
  1893.         0 = Never expire unused accounts.
  1894.  
  1895.         Default: 365
  1896.  
  1897.  
  1898.         10.13 Screen Saver Activation Time
  1899.  
  1900.         This sets the amount of idle time (in seconds) that may pass
  1901.         before the screen saver is activated.
  1902.  
  1903.         Default: 300
  1904.  
  1905.  
  1906.         10.14 Screen Saver Message
  1907.  
  1908.         This is the message that is displayed randomly on the screen
  1909.         when the screen saver is active.
  1910.  
  1911.         Default: This is a Secure Terminal.
  1912.  
  1913.  
  1914.         10.15 Login Prompt
  1915.  
  1916.         This sets the value of the prompt that is displayed when the
  1917.         user is expected to enter their login name. Modifying this
  1918.         allows you to customize your environment as you see fit.
  1919.  
  1920.         Default: Login:
  1921.  
  1922.  
  1923.         10.16 Password Prompt
  1924.  
  1925.         This sets the value of the prompt that is displayed when the
  1926.         user is expected to enter their password. Modifying this allows
  1927.         you to customize your environment as you see fit.
  1928.  
  1929.         Default: Password:
  1930.  
  1931.  
  1932.         10.17 Wrong Password Message
  1933.  
  1934.         This sets the message to be displayed when a user enters the
  1935.         wrong password.
  1936.  
  1937.         NOTE: It is a good idea to keep the wrong password and wrong
  1938.         login messages the same. Otherwise, a potential intruder will
  1939.         know when he has found an account (IE: If Sentry responds with
  1940.         "Invalid Password", he knows the login was correct). Keeping the
  1941.         two the same prevents an attacker from knowing if he even has
  1942.         the correct login.
  1943.  
  1944.         Default: Invalid Login.
  1945.  
  1946.  
  1947.         10.18 Wrong Login Message
  1948.  
  1949.         This sets the message to be displayed when a user enters the
  1950.         wrong login.
  1951.  
  1952.         NOTE: It is a good idea to keep the wrong password and wrong
  1953.         login messages the same. Otherwise, a potential intruder will
  1954.         know when he has found an account (IE: If Sentry responds with
  1955.         "Invalid Password", he knows the login was correct). Keeping the
  1956.         two the same prevents an attacker from knowing if he even has
  1957.         the correct login.
  1958.  
  1959.         Default: Invalid Login.
  1960.  
  1961.  
  1962.         10.19 Bad Password Length Message
  1963.  
  1964.         This sets the message to be displayed when a user enters a
  1965.         password of invalid length.
  1966.  
  1967.         NOTE: It is wise to keep the wrong password length, wrong login
  1968.         length, wrong password and wrong login messages the same. This
  1969.         will prevent a potential attacker from knowing the max and min
  1970.         settings for passwords or logins on your system. (Knowing the
  1971.         length of a password can greatly decrease the amount of time
  1972.         required to crack it).
  1973.  
  1974.         Default: Invalid Login.
  1975.  
  1976.  
  1977.         10.20 Bad Login Length Message
  1978.  
  1979.         This sets the message to be displayed when a user enters a login
  1980.         of invalid length.
  1981.  
  1982.         NOTE: It is wise to keep the wrong password length, wrong login
  1983.         length, wrong password and wrong login messages the same. This
  1984.         will prevent a potential attacker from knowing the max and min
  1985.         settings for passwords or logins on your system. (Knowing the
  1986.         length of a password can greatly decrease the amount of time
  1987.         required to crack it).
  1988.  
  1989.         Default: Invalid Login.
  1990.  
  1991.  
  1992.         10.21 Wrong Password Log Message
  1993.  
  1994.         This sets the message to be saved to the log file when a user
  1995.         enters the wrong password.
  1996.  
  1997.         Default: User entered the wrong password.
  1998.  
  1999.  
  2000.         10.22 Wrong Login Log Message
  2001.  
  2002.         This sets the message to be saved to the log file when a user
  2003.         enters the wrong login.
  2004.  
  2005.         NOTE: This message should be descriptive, since the SuperUser
  2006.         will use it to determine what sort of activities have been
  2007.         happening.
  2008.  
  2009.         Default: User entered the wrong login.
  2010.  
  2011.  
  2012.         10.23 Bad Password Length Log Message
  2013.  
  2014.         This sets the message to be saved to the log file when a user
  2015.         enters a password of invalid length.
  2016.  
  2017.         Default: Invalid Password Length.
  2018.  
  2019.  
  2020.         10.24 Bad Login Length Log Message
  2021.  
  2022.         This sets the message to be saved to the log file when a user
  2023.         enters a login of invalid length.
  2024.  
  2025.         Default: Invalid Login Length.
  2026.  
  2027.  
  2028.         10.25 Environment Variable
  2029.  
  2030.         This sets the environment variable used to store the user's
  2031.         login name after a successful login.
  2032.  
  2033.         NOTE: The environment variable USER is used by many networks,
  2034.         such Novell. By using this setting, Sentry can be used in
  2035.         conjunction with these networks.
  2036.  
  2037.         Default: USER
  2038.  
  2039.  
  2040.         10.26 Enable Sentry with Windows
  2041.  
  2042.         The Windows flag is set if you wish to run Sentry from Windows.
  2043.         Technically, this allows Sentry to open up a DOS shell after a
  2044.         successful login. Setting this option to 1 has no effect on
  2045.         normal use, and is not a security risk.
  2046.  
  2047.         (0=Do Not Run In Windows, 1=Run In Windows)
  2048.  
  2049.         Default: 1
  2050.  
  2051.  
  2052.         10.27 Show Title
  2053.  
  2054.         This determines if the intro screen is displayed or not. You may
  2055.         choose not to display the title information if you don't want
  2056.         users to know what program you are using. On the other hand, the
  2057.         registration information should be displayed for authenticity's
  2058.         sake. I have added this option because security comes before all
  2059.         else.
  2060.  
  2061.         (0=Not Displayed, 1=Displayed)
  2062.  
  2063.         Default: 1
  2064.  
  2065.  
  2066.         10.28 Date Format
  2067.  
  2068.         This will allow you to have dates displayed in different
  2069.         formats. Some people prefer different formats than others, so
  2070.         this will allow you to define the way dates are displayed.
  2071.  
  2072.         (0=MM/DD/YYYY, 1=DD/MM/YYYY)
  2073.  
  2074.         Default: 1
  2075.  
  2076.  
  2077.         10.29 Case Sensitivity
  2078.  
  2079.         This sets the case sensitivity. If "Case Insensitive" is
  2080.         selected, "SENTRY" "sentry" and "Sentry" are all treated as the
  2081.         same at the login prompt. If case sensitivity is enabled, the
  2082.         three are all treated as different logins.
  2083.  
  2084.         (0=Case Sensitive, 1=Case Insensitive)
  2085.  
  2086.         NOTE: Using "Case Insensitive" reduces the number of allowable
  2087.         logins, and increases the probability of an attacker getting a
  2088.         correct login. Still, some people find it easier to work with
  2089.         Case Sensitivity off.
  2090.  
  2091.         Default: 0
  2092.  
  2093.  
  2094.         10.30 Windowed Mode
  2095.  
  2096.         This allows you to choose between normal windows, and "expliding"
  2097.         windows. This is strictly a visual setting, and has no effect on
  2098.         secirty.
  2099.  
  2100.         (1=Normal Windowed Mode, 2=Exploding Windowed Mode)
  2101.  
  2102.         Default: 2
  2103.  
  2104.  
  2105.         10.31 Enable Colour
  2106.  
  2107.         This determines if colour will be displayed by Sentry or not.
  2108.         Some laptop users may wish to use the black and white setting
  2109.         for better readability.
  2110.  
  2111.         (0=Black and White, 1=Colour)
  2112.  
  2113.         Default: 1
  2114.  
  2115.  
  2116.         10.32 Text Colour
  2117.  
  2118.         You can set TextColour to the value of the colour you wish
  2119.         normal text to appear in. Colour values are shown in the chart
  2120.         below.
  2121.  
  2122.         COLOURS:
  2123.         0 Black 4 Red        8 Dark Gray    12 Light Red
  2124.         1 Blue  5 Magenta    9 Light Blue   13 Light Magenta
  2125.         2 Green 6 Brown      10 Light Green 14 Yellow
  2126.         3 Cyan  7 Light Gray 11 Light Cyan  15 White
  2127.  
  2128.         Default: 15
  2129.  
  2130.  
  2131.         10.33 Text Background
  2132.  
  2133.         You can set TextBackground to the value of the colour you wish
  2134.         normal text to have as a background. Colour values are shown in
  2135.         the chart below.
  2136.  
  2137.         COLOURS:
  2138.         0 Black 4 Red
  2139.         1 Blue  5 Magenta
  2140.         2 Green 6 Brown
  2141.         3 Cyan  7 Light Gray
  2142.  
  2143.         Default: 1
  2144.  
  2145.  
  2146.         10.34 Highlighted Text Colour
  2147.  
  2148.         You can set HighColour to the value of the colour you wish
  2149.         highlighted text to appear in. Colour values are shown in the
  2150.         chart below.
  2151.  
  2152.         COLOURS:
  2153.         0 Black 4 Red        8 Dark Gray    12 Light Red
  2154.         1 Blue  5 Magenta    9 Light Blue   13 Light Magenta
  2155.         2 Green 6 Brown      10 Light Green 14 Yellow
  2156.         3 Cyan  7 Light Gray 11 Light Cyan  15 White
  2157.  
  2158.         Default: 1
  2159.  
  2160.  
  2161.         10.35 Highlighted Text Background
  2162.  
  2163.         You can set HighBackground to the value of the colour you wish
  2164.         highlighted text to have as a background. Colour values are
  2165.         shown in the chart below.
  2166.  
  2167.         COLOURS:
  2168.         0 Black 4 Red
  2169.         1 Blue  5 Magenta
  2170.         2 Green 6 Brown
  2171.         3 Cyan  7 Light Gray
  2172.  
  2173.         Default: 7
  2174.  
  2175.  
  2176.         10.36 Maximum Invalid Logins
  2177.  
  2178.         This sets the Default number of consecutive invalid logins
  2179.         possible before an account is locked out. Only a SuperUser can
  2180.         subsequently unlock an account.
  2181.  
  2182.         Default: 10
  2183.  
  2184.  
  2185.         10.37 Type Ahead
  2186.  
  2187.         This allows you to determine if Sentry acknowledges characters
  2188.         typed before execution began. With this option enabled, the user
  2189.         can type their login and password before Sentry runs, and it
  2190.         will automatically be used. This is useful for saving time while
  2191.         logging in.
  2192.  
  2193.         (0=Ignore input, 1=Accept input)
  2194.  
  2195.         NOTE: Some System Administrators turn this option off because it
  2196.         can cause some users to get confused and log in incorrectly.
  2197.  
  2198.         Default: 1
  2199.  
  2200.  
  2201.         10.38 Clear Screen
  2202.  
  2203.         This setting determines if the screen is cleared before running
  2204.         Sentry. Some users prefer to turn this option on as the screen can
  2205.         look cluttered otherwise.
  2206.  
  2207.         (0=Don't clear screen, 1=Clear screen)
  2208.  
  2209.         Default: 0
  2210.  
  2211.  
  2212.         10.39 Last Login Pause
  2213.  
  2214.         This setting determines how long the last login information is
  2215.         displayed on screen before the screen is cleared. A value of 0
  2216.         means that there is no pause, and the last login information is
  2217.         not cleared from the screen. Any other value is the number of
  2218.         seconds to display the last login info.
  2219.  
  2220.         Default: 0
  2221.  
  2222.  
  2223.         10.40 Secure Deletion
  2224.  
  2225.         This option allows the SuperUser to turn secure deletion on or
  2226.         off. With this option on, any files deleted by Sentry are not
  2227.         recoverable.
  2228.  
  2229.         (0=Normal Deletion, 1=Secure Deletion)
  2230.  
  2231.         Default: 1
  2232.  
  2233.  
  2234.         10.41 View Highlighting
  2235.  
  2236.         The setting controls how user information is displayed on the
  2237.         SuperUser menu. With view highlighting on, the following items are
  2238.         highlighted, making them easier to pick out:
  2239.  
  2240.         - Superusers         - Accounts that have not been used recently
  2241.         - Expired Accounts   - Expired Passwords
  2242.         - Exceeded maximum invalid logins
  2243.  
  2244.         As this options causes some slowdown, you may wish to disable it.
  2245.         (0=View Highlighting off, 1=View Highlighting on)
  2246.  
  2247.  
  2248.         10.42 View Highlighting Colour
  2249.  
  2250.         You can set View to the value of the colour you wish
  2251.         normal text to have as a background. Colour values are shown in the
  2252.         chart below.
  2253.  
  2254.         COLOURS:
  2255.         0 Black 4 Red        8 Dark Gray    12 Light Red
  2256.         1 Blue  5 Magenta    9 Light Blue   13 Light Magenta
  2257.         2 Green 6 Brown      10 Light Green 14 Yellow
  2258.         3 Cyan  7 Light Gray 11 Light Cyan  15 White
  2259.  
  2260.  
  2261.         10.43 Disable CTRL-C
  2262.  
  2263.         This option allows you to disable CTRL-C, CTRL-BREAK, and
  2264.         CTRL-ALT-DELETE. You may wish to do this as using these key
  2265.         sequences can at times allow the user to bypass security
  2266.         elements. This setting should only be set of copies of Sentry
  2267.         that run during bootup. Enabling this feature uses less than 1k
  2268.         of conventional memory, and remains active even after Sentry has
  2269.         finished execution.
  2270.  
  2271.         (0=Enable CRTL-C, 1=Disable CTRL-C)
  2272.  
  2273.  
  2274.         11.0 Technical Notes
  2275.         ====================
  2276.  
  2277.         11.1  Encoding Algorithm
  2278.  
  2279.         The encoding algorithm used is the standard UNIX Crypt()
  2280.         algorithm. It is a one-way encoding algorithm that incorporates
  2281.         the Data Encryption Standard (DES) and RSA technology. It is
  2282.         used on UNIX systems to secure passwords. (As a note, the
  2283.         encryption code is not included with the ShareWare version, so
  2284.         no amount of examining the code will reveal the algorithm).
  2285.  
  2286.         The users' passwords are never decoded. They are stored on disk
  2287.         and in memory in an encoded format. The entered passwords are
  2288.         encoded using the same algorithm and matched in an encoded form.
  2289.         This prevents disk or memory scans from revealing the password
  2290.         to prying eyes.
  2291.  
  2292.         I have begun running some tests on cracking the passwords, and I
  2293.         will include my results. So far, this is what I have found:
  2294.  
  2295.         Password Length          Maximum Time to Break
  2296.         ------------------------------------------------
  2297.         4                        22 days
  2298.         5                        1368 days or 3.75 years
  2299.         6                        232.4 years
  2300.         7                        14409 years
  2301.         8                        893357 years
  2302.  
  2303.         All times listed are approximated as using a Pentium 90MHz CPU
  2304.         and an alpha-numeric password.
  2305.  
  2306.         These figures may be adjusted as my testing becomes more
  2307.         accurate. The above figures also assume you know the length of
  2308.         the password, which cannot be determined by looking at the
  2309.         encrypted version. As a result, the search time may be much
  2310.         greater.
  2311.  
  2312.  
  2313.         11.2  SuperUser Access
  2314.  
  2315.         SuperUser access is also encoded in the password. I tried many
  2316.         different ways before finally settling on this. It is the most
  2317.         secure method. Actually, SuperUser access is stored on the
  2318.         password (which is then encoded), and then stored again on the
  2319.         encoded password. That looks like:
  2320.  
  2321.         password                      <-- Password as entered.
  2322.  
  2323.         super(password)               <-- Password with SuperUser stamp.
  2324.                                           * This is the stamp that is
  2325.                                           used to determine access.
  2326.  
  2327.         crypt(super(password))        <-- Encoded password with
  2328.                                           SuperUser stamp.
  2329.  
  2330.         super(crypt(super(password))) <-- SuperUser stamped encoded
  2331.                                           password with SuperUser stamp.
  2332.                                           * This is the stamp that is
  2333.                                           used to "see" who has
  2334.                                           SuperUser access.
  2335.  
  2336.         That way when you use the "View Users" command, you can see
  2337.         which ones are SuperUsers. However, since the non-encoded
  2338.         SuperUser stamp can be edited, it is only used for viewing. The
  2339.         encoded SuperUser stamp is used for access. If anyone attempts
  2340.         to alter the SuperUser stamp, a warning will be displayed in
  2341.         the log file each time that user logs in.
  2342.  
  2343.  
  2344.         11.3  Packing List
  2345.  
  2346.         The following files are included with this release of Sentry:
  2347.  
  2348.         Sentry.exe      This is the executable program.
  2349.         Install.exe     The installation program.
  2350.         Sdel.exe        A utility allowing secure deletion of files.*
  2351.         Cbreak.sys       Used to disable CTRL-C.
  2352.         File_id.diz     Short description file.
  2353.         History.txt     The complete revision history of Sentry.
  2354.         License.txt     The license agreement.
  2355.         Order.frm       The order form.
  2356.         Qstart.txt      Quickstart instructions.
  2357.         Readme.com      Displays this file.
  2358.         Readme.txt      This file.
  2359.         Sentry.ins      Descriptions of Initialization Settings.
  2360.         Sentry.hlp      Sentry's Help file.
  2361.         Sentry.grp      The Sentry Group file for Windows.
  2362.         Sentry.pif      The Sentry .pif file for Windows.
  2363.         Sentry.w95      The Sentry .pif file for Windows 95.
  2364.         Whatsnew.txt    A short description of modifications to the
  2365.                         latest version.
  2366.  
  2367.         If you do not have all of these files, Sentry may not work for
  2368.         you. You can pick up a complete copy of Sentry (and updates as
  2369.         they become available) at:
  2370.  
  2371.               http://www.izzy.net/~army/NightShade/Sentry.html
  2372.  
  2373.         * SDEL.EXE is included only in registered versions.
  2374.  
  2375.  
  2376.         11.4  File_id.diz
  2377.  
  2378.         The actual contents of the file_id.diz file are shown below. If
  2379.         any modification has been made to the original file, please
  2380.         re-create it from the following section.
  2381.  
  2382.         NOTE: this is primarily for SysOps of BBS's. Single users can
  2383.         delete the file_id.diz if they wish. (However, please make sure
  2384.         that all files are present if you distribute the program.)
  2385.  
  2386.         -------------------CUT-----------------------
  2387.         (V5.4) Sentry - DOS/Win/95 Security Program
  2388.         Extremely flexible security program allows
  2389.         complete customization to fit your needs.
  2390.         Protect system, O/S, and/or individual files
  2391.         and support up to 100 users with normal and
  2392.         "SuperUser" access.  Detailed log files, a
  2393.         message system, auditing, expiry dates, and
  2394.         non-recoverable deletion help with security
  2395.         and system administration.  Network/DESQview
  2396.         compatible.  From:  NightShade Computing
  2397.         -------------------CUT-----------------------
  2398.  
  2399.  
  2400.         11.5  Date Conversion
  2401.  
  2402.         An additional problem with date conversion is that the valid
  2403.         date range appears to extend only to 18/01/2038 (the 18th day of
  2404.         January, 2038). This is not a serious issue at the moment, as we
  2405.         still have over 40 years until that date, however I consider it
  2406.         important enough to include in the instructions. I also advise
  2407.         system administrators to avoid setting dates higher than this
  2408.         limit, as they translate to dates in the past, which will
  2409.         cause serious problems.
  2410.  
  2411.  
  2412.         11.6  Environment Variables
  2413.  
  2414.         When a user successfully logs in, a DOS environment variable is
  2415.         set to that user's login name. This can be a very useful feature
  2416.         as it allows custom programs to link with Sentry in a meaningful
  2417.         way.
  2418.  
  2419.         For example, if you are running Sentry from a batch file, you
  2420.         can check to see who logged in, and take appropriate action.
  2421.  
  2422.         Shown below is a short batch file which can be used for this
  2423.         type of function:
  2424.  
  2425.         -----------CUT-----------
  2426.         @echo off
  2427.         rem *** Run Sentry.
  2428.         c:\sentry\sentry
  2429.         rem *** Test to see who logged in.
  2430.         rem *** Use the user's login name for the line below.
  2431.         rem *** It must be UPPERCASE.
  2432.         if %user% == Mike goto mike
  2433.         if %user% == Danny goto dan
  2434.         rem *** Use a line like the one above for each user.
  2435.         goto end
  2436.         :mike
  2437.         rem *** Note that individual users have their own commands.
  2438.         echo SuperUser logged in.
  2439.         defrag c:
  2440.         rem *** Other commands here
  2441.         goto end
  2442.         :dan
  2443.         echo Dan logged in.
  2444.         goto end
  2445.         rem *** Add more users as you see fit
  2446.         :end
  2447.         rem *** Add the commands here that will be executed by
  2448.         rem *** everyone, regardless of their login.
  2449.         -----------CUT-----------
  2450.  
  2451.         NOTE: Batch files are not secure! No critical functions should
  2452.         be placed here unless it's absolutely necessary!
  2453.  
  2454.         An alternative (and more secure) method is to write a program in
  2455.         another language (like C) and compile it. Most programming
  2456.         languages allow you to read environment variables. This means
  2457.         that you can write your own custom extensions to Sentry, which
  2458.         will execute after a person logs in.
  2459.  
  2460.         Please also note that the usernames in the environment variables
  2461.         are all capital letters. (Sentry becomes SENTRY when it is set).
  2462.  
  2463.         ** NOTE: Although the environment variables are secure
  2464.         immediately after Sentry runs, they may not be secure after
  2465.         other programs have run. By this I mean that another program
  2466.         could alter the environment variables to make it LOOK like a
  2467.         different user logged in. As a result, try to do all your
  2468.         checking immediately after Sentry runs.
  2469.  
  2470.  
  2471.         11.7  Virus Scanners
  2472.  
  2473.         If you scan your system with a virus scanner such as Microsoft
  2474.         Anti-Virus or Norton Anti-Virus, you may find that Sentry will
  2475.         show up quite often. The reason for this is that some virus
  2476.         scanners record statistics on executable files. When the next
  2477.         scan is performed, if the executable files do not match the
  2478.         statistics, the scanner panics. This can SOMETIMES be evidence
  2479.         of a virus on your system. Sentry modifies itself (in a manner
  2480.         very similar to a virus) and so may be picked up on occasion,
  2481.         however please be aware that there is no threat from Sentry.
  2482.  
  2483.         SENTRY IS NOT A VIRUS!
  2484.  
  2485.         Every time you use Sentry, the executable is modified to allow
  2486.         for a more secure operating environment. This will cause many
  2487.         virus scanner to panic! Do not be alarmed, since this is normal
  2488.         operation for Sentry.
  2489.  
  2490.  
  2491.         11.8  File Deletion
  2492.  
  2493.         Many times, sensitive information can be obtained by recovering
  2494.         deleted files and examining their contents. This is a common
  2495.         practice, and takes little technical skill to achieve. An
  2496.         unauthorized user "undeleting" files can cause the System
  2497.         Administrator a lot of hassle if the information recovered is
  2498.         sensitive. Also, the user may be able to study the information
  2499.         and devise a plan of attack based on how the system operates.
  2500.  
  2501.         As such, when Sentry deletes a file, that file cannot be
  2502.         "undeleted" to recover any sensitive information. Sentry
  2503.         achieves this by routing all delete requests through a special
  2504.         function. This function essentially fills the target file with
  2505.         garbage (random characters) before deleting it. Once deleted,
  2506.         the target file may be "undeleted" however the only information
  2507.         available from the recovered file is the garbage, not actual
  2508.         data. As a result, an unauthorized user will not be able to
  2509.         recover anything more than random characters from Sentry's
  2510.         execution. Sentry uses this method of deletion on all files,
  2511.         regardless of their level of sensitivity.
  2512.  
  2513.         This default for this option is on, however it can be turned off
  2514.         via the initialization settings.
  2515.  
  2516.         This same level of security is found in the external program,
  2517.         SDEL. Any files deleted with SDEL cannot be recovered, so take
  2518.         care when using it! If you're concerned about who has access to
  2519.         SDEL, simply protect it with Sentry, and only the specified
  2520.         users will be able to run it.
  2521.  
  2522.  
  2523.         11.9  General
  2524.  
  2525.         Sentry is written in C++, with most of the code being in regular
  2526.         C style. All versions since Sentry V5.4 have been compiled with
  2527.         Borland C++ V5.0. Currently, Sentry contains over 9000 lines of
  2528.         code. Portability between machines is not an issue, since Sentry
  2529.         has been designed and tested on standard MS-DOS machines.
  2530.  
  2531.         Sentry is verified compatible with Windows 3.x and Windows 95.
  2532.         It will work on all processors down to and including 80286's.
  2533.  
  2534.  
  2535.         12.0 Potential Threats To Security
  2536.         ==================================
  2537.  
  2538.         Never underestimate your users. And never be satisfied that your
  2539.         system is completely "air-tight". Users are incredibly adept at
  2540.         finding loopholes in security, and once found, these holes can
  2541.         be exploited. Because of this, I am listing below all of the
  2542.         security loopholes that I am aware of at this time.
  2543.  
  2544.  
  2545.         12.1 Account Information
  2546.  
  2547.         With the release of Sentry V3.0, account information has become
  2548.         much more secure. It is still POSSIBLE however that a user can
  2549.         find and dissect the account information. The probability of
  2550.         this is remote though, since the information is not easily
  2551.         edited or understood. Also, all of these methods require a
  2552.         working knowledge of how Sentry operates, and that is not
  2553.         commonly available. The best source for that information would
  2554.         be from this file, which is deliberately missing some key pieces
  2555.         of "technical" information.
  2556.  
  2557.         If a user did manage to decipher the account information, he may
  2558.         be able to do any of the following:
  2559.  
  2560.         - Add/Remove an expiry date (account or password)
  2561.               This is not a serious issue for passwords, as the user
  2562.               would still have to enter their old one before being
  2563.               notified that their password has expired. An attacker can
  2564.               NOT expire a password and then log in to that account.
  2565.  
  2566.         - Edit a username
  2567.               This would effectively lock out that user, unless they
  2568.               could guess their new user name.
  2569.  
  2570.         - Delete a user
  2571.               Users can be deleted, but not created.
  2572.  
  2573.         - Destroy a password
  2574.               Since passwords are encoded, there is no way to change a
  2575.               password to something usable. An edited password will lock
  2576.               that user out of their account, until the password is
  2577.               reset.
  2578.  
  2579.         - Change "last login" information
  2580.               Not critical, but could be used to cover an attackers
  2581.               tracks.
  2582.  
  2583.         - Change "number of invalid logins since last login" information
  2584.               Same as above.
  2585.  
  2586.         - Add/Remove restrictions on the max # of invalid login attempts
  2587.               Could allow a "brute force" technique to work on an
  2588.               account password if the restriction was lifted. Also, if
  2589.               an attacker set this restriction to 1 invalid login, that
  2590.               account would be disabled if a single failed login attempt
  2591.               was made. This would be very annoying to the SuperUser who
  2592.               would end up having to reset accounts fairly often.
  2593.  
  2594.         It is important to know however, that a renegade user can never
  2595.         grant himself SuperUser privileges, nor can he ever attempt to
  2596.         effectively modify a password. To perform any of these
  2597.         functions, he MUST be logged in as a SuperUser. In addition,
  2598.         NOBODY (not even SuperUsers) can view passwords. (They can never
  2599.         be decrypted, remember?) Ultimately, you must be vigilant over
  2600.         your system, and try to catch any unusual occurrances as soon as
  2601.         possible.
  2602.  
  2603.         In essence:
  2604.         Sentry does it's part for security, but you must do yours as
  2605.         well...
  2606.                        GUARD YOUR SUPERUSER PASSWORDS!
  2607.  
  2608.  
  2609.         12.2 Hardware Loopholes
  2610.  
  2611.         Although it is unlikely that a user will do this, there is a
  2612.         potential security risk to Sentry. Fortunately, this method can
  2613.         only be implemented by highly technical users. If a user really
  2614.         wants to get into your system, he can disassemble it, and take
  2615.         the battery out of your BIOS. This will reset your BIOS to the
  2616.         standard setup, which does not include password protection. From
  2617.         there, the user can enter your BIOS, and change the boot
  2618.         sequence from C,A to A,C. This means that your computer will
  2619.         search for a boot disk before booting from your hard drive.
  2620.         Therefore, the user can get in if he has a pre-made boot disk.
  2621.  
  2622.         Like I said, it's unlikely, but possible. If you want to fix up
  2623.         this back door, you can re-wire your floppy disk drive so that
  2624.         it is never used on boot up. I do not have instructions for that
  2625.         at this time, however I am looking, and will include them in
  2626.         future.
  2627.  
  2628.         Along the same lines, a user could replace your hard drive (the
  2629.         one containing Sentry)  with another hard-drive. This way he
  2630.         could then boot up using the new hard drive, and never have to
  2631.         worry about Sentry. Also, if he kept your hard drive on the
  2632.         system (as drive D for example), he could still access your
  2633.         data. This kind of trickery is highly improbable, but not
  2634.         impossible.
  2635.  
  2636.         The above two methods take more technical skill than the average
  2637.         user possesses, and should not be considered a serious threat. I
  2638.         include them simply so you can be aware such things exist. If
  2639.         you are concerned about attacks of this nature, you should
  2640.         secure your system's case to the frame (IE: make it impossible
  2641.         to open the case with a screwdriver - install a locking
  2642.         mechanism or fuse the screws to the frame).
  2643.  
  2644.         It is critical to realize that it is EXTREMELY difficult to
  2645.         repel a determined and well-organized attack. Using Sentry does
  2646.         not guarantee your computer's safety. It does however greatly
  2647.         reduce the threat of a successful attack, and more importantly,
  2648.         it can alert you to potential threats before they become a
  2649.         serious problem. Your ability to defend is much greater once you
  2650.         know you are under attack. Sentry can keep you informed of
  2651.         suspicious actions on your PC, as well as being is a powerful
  2652.         tool in defeating most threats.
  2653.  
  2654.  
  2655.         13.0 Troubleshooting
  2656.         ====================
  2657.  
  2658.         13.1 Error messages
  2659.  
  2660.         Below are listed all possible error messages you can get while
  2661.         running Sentry. With each is a brief description of what it
  2662.         means, probable causes, and how to fix it.
  2663.  
  2664.         Please be aware that all of these errors cause Sentry to
  2665.         lock-up, except where noted. This may be an inconvenience at
  2666.         times, but it is done for security reasons (that way an attacker
  2667.         can't "induce" an error and get into the system).
  2668.  
  2669.         13.1.1  Cannot locate environment.
  2670.  
  2671.         This indicates an error with your DOS environment. Make sure
  2672.         that you are using the regular environment, or that it is set up
  2673.         correctly. This is only a warning, and does not abort execution.
  2674.  
  2675.  
  2676.         13.1.2  Environment overflow - not modified.
  2677.  
  2678.         There was an error trying to set modify the DOS environment. It
  2679.         may occur if you try to run Sentry from within the Sentry DOS
  2680.         shell (IE: running Sentry from Windows, then when you're in the
  2681.         shell, running it again). If this error occurs, you are
  2682.         generally using too many environment variables for the amount of
  2683.         space you have allotted. See your DOS manual for ways of
  2684.         increasing environment space. This is only a warning, and does
  2685.         not abort execution.
  2686.  
  2687.  
  2688.         13.1.3  Error Creating Backup Log File!
  2689.  
  2690.         There is a problem with the backup log file. Make sure that the
  2691.         file pointed to by the initialization settings is not
  2692.         write-protected, hidden or a system file.
  2693.  
  2694.  
  2695.         13.1.4  Error Creating Log file!
  2696.  
  2697.         The file that logs all transactions to your computer cannot be
  2698.         created. Make sure you have specified a valid pathname for this
  2699.         setting, and make sure you have about 80k of free space on your
  2700.         drive. If a log file already exists, it will be appended to.
  2701.         Otherwise it will be created.
  2702.  
  2703.  
  2704.         13.1.5  Error Creating Temp file!
  2705.  
  2706.         Sentry cannot create a temporary file. Make sure you have at
  2707.         least 80k available on the hard drive that contains Sentry
  2708.         before running it.
  2709.  
  2710.  
  2711.         13.1.6  Error Opening Log File!
  2712.  
  2713.         There is a problem with the log file. Make sure that the log
  2714.         file pointed to by the initialization settings is not
  2715.         write-protected, hidden or a system file.
  2716.  
  2717.  
  2718.         13.1.7 Error Opening Message File!
  2719.  
  2720.         This error indicates that the message file cannot be opened.
  2721.         Ensure that your initialization setting for the message file is
  2722.         correct, and that the file is not read-only, hidden, or a system
  2723.         file.
  2724.  
  2725.  
  2726.         13.1.8 Error Opening Protected File!
  2727.  
  2728.         This error may occur when protecting a file from the SuperUser
  2729.         menu. Make sure the file you indicate to protect is readable.
  2730.  
  2731.  
  2732.         13.1.9 Error Opening Sentry.ins!
  2733.  
  2734.         This error occurs when Sentry cannot find the file containing
  2735.         the descriptions for the initialization settings. Make sure that
  2736.         the file Sentry.ins is in the same directory as the Sentry.exe
  2737.         file.
  2738.  
  2739.  
  2740.         13.1.10 Error Opening System Files!
  2741.  
  2742.         This is an error opening one of your system files. If this error
  2743.         occurs, make sure that your AUTOEXEC.BAT, CONFIG.SYS and
  2744.         MSDOS.SYS (Win 95 users only) files are readable, if they exist.
  2745.  
  2746.  
  2747.         13.1.11  Error Opening Temp File!
  2748.  
  2749.         A temporary storage file cannot be opened. Make sure you have at
  2750.         around 80k of disk space left when you run Sentry.
  2751.  
  2752.  
  2753.         13.1.12  Error Reading Data Segment! [Open]
  2754.  
  2755.         This occurs when the initialization settings or account
  2756.         information is not acting as expected. Make sure that you have
  2757.         about 80k of disk space free, and that your Sentry.exe file is
  2758.         not read-only.
  2759.  
  2760.  
  2761.         13.1.13  Please Run the INSTALL.EXE Program.
  2762.  
  2763.         This usually indicates that there are no initialization
  2764.         settings. The easiest way to remedy this is to install Sentry
  2765.         (see section 2 for details). That will create initialization
  2766.         settings, or over-write the old settings if they are invalid.
  2767.  
  2768.  
  2769.         13.1.14  Error Scanning Temp File!
  2770.  
  2771.         This error should never occur. If it does, please contact me
  2772.         with details of the scenario.
  2773.  
  2774.  
  2775.         13.1.15  Error in Account Information!
  2776.  
  2777.         This means there is a problem with the account information for a
  2778.         certain user. You can either try restoring your sentry.exe file
  2779.         from backup, or you can re-install it (see section 2 for
  2780.         details). If you continue to use corrupt account information,
  2781.         you will find you are locked out quite frequently. It should be
  2782.         a top priority to fix the account info.
  2783.  
  2784.  
  2785.         13.1.16  Error in Initialization Settings!
  2786.  
  2787.         Your initialization settings are corrupt or could not be read.
  2788.         The best bet here is to re-install Sentry from scratch, and
  2789.         over-write the current settings. If you find this occurring
  2790.         frequently, it is probably a bug of some sort, and I should be
  2791.         contacted.
  2792.  
  2793.  
  2794.         13.1.17 Internal Screen Error. [Reading]
  2795.  
  2796.         This error should never occur. Having said that, if it does,
  2797.         your best bet is to check your video mode. Sentry has only been
  2798.         tested in 80x25 text mode, so make sure that is what you are
  2799.         using. If this error crops up, please contact me with the
  2800.         details.
  2801.  
  2802.  
  2803.         13.1.18 Internal Screen Error. [Writing]
  2804.  
  2805.         See above.
  2806.  
  2807.  
  2808.         13.1.19 Out of memory!
  2809.  
  2810.         When this error appears, it means that for some reason, Sentry
  2811.         didn't have enough memory to run. This is extremely rare, since
  2812.         Sentry requires very little memory. If this error occurs, try
  2813.         freeing up some memory by unloading some un-needed programs, or
  2814.         rebooting.
  2815.  
  2816.  
  2817.         13.1.20 Registration Error - Program Aborted!
  2818.  
  2819.         This error indicates that the registration information was not
  2820.         properly entered during registration. Delete the old copy and
  2821.         re-install. This error does not occur for Shareware versions.
  2822.  
  2823.  
  2824.         13.1.21 This account has expired.
  2825.  
  2826.         Sorry, you're out of luck. The SuperUser(s) have set your
  2827.         account to expire, and so it has. If you ARE the SuperUser,
  2828.         silly you (you shouldn't let your own account expire!). In that
  2829.         case, you will have to restore the Sentry.exe from a backup,
  2830.         and make the necessary changes to get your system running.
  2831.  
  2832.  
  2833.         13.1.22 Cannot Find LICENSE.TXT!
  2834.  
  2835.         The file LICENSE.TXT was not found by the install program. This
  2836.         file must be present for the install to proceed correctly. If
  2837.         you are missing this file, check section 11.3 for information on
  2838.         where to obtain it.
  2839.  
  2840.         13.1.23 The Initialization Settings Are Old!
  2841.  
  2842.         Somehow, your version of Sentry does not match the version of
  2843.         the internal initialization settings. The best way to solve this
  2844.         is to export the settings, and re-install the latest version of
  2845.         Sentry.
  2846.  
  2847.  
  2848.         13.1.24 The Initialization Settings Are New!
  2849.  
  2850.         See above.
  2851.  
  2852.  
  2853.         13.2 Other problems
  2854.  
  2855.         Sentry is running very slow.
  2856.  
  2857.         A: On some machines it does. It all depends on your processor
  2858.         and hard disk speeds. If you want to make it run faster, try
  2859.         using a disk caching utility such as Smart Drive. Alternatively,
  2860.         you can turn off the "secure deletion" option in the
  2861.         initialization settings.
  2862.  
  2863.  
  2864.         I've installed Sentry, but now when I start my computer it's
  2865.         prompting me for a login and password.
  2866.  
  2867.         A: Yes, that's what Sentry does. The default login and password
  2868.         are both "Sentry" (note the capitalizations). RTFM
  2869.  
  2870.  
  2871.         When I run Sentry, is displays a warning saying I have
  2872.         newer/older initialization settings.
  2873.  
  2874.         A: You should probably get the latest version of Sentry (see
  2875.         section 11.3 for info on obtaining the latest version). Replace
  2876.         all your current files with the files you retrieve. This warning
  2877.         may not be a problem in itself, however it is not a good idea to
  2878.         use initialization settings from a different version.
  2879.  
  2880.  
  2881.         I get a warning about users being tampered with in the log file.
  2882.  
  2883.         A: Someone has been tampering with your users (obviously). They
  2884.         thought they could change the SuperUser access on your system,
  2885.         but really couldn't. The only side effect of this is that some
  2886.         users may appear to have SuperUser access when they don't (and
  2887.         vice-versa) when you view them from the SuperUser menu. The
  2888.         users' actual access has not changed. To remedy this situation,
  2889.         you can get the user to enter another password (this can easily
  2890.         be done by expiring their current password). As soon as the new
  2891.         password is entered, the problem will disappear.
  2892.  
  2893.  
  2894.         I can't log in at all.
  2895.  
  2896.         A: Are you a user on the system? Are your initialization
  2897.         settings set up correctly? Have you run the install program?
  2898.  
  2899.  
  2900.         I can't log in as a SuperUser.
  2901.  
  2902.         A: Did you give yourself SuperUser access? Are you remembering
  2903.         to hold down CTRL when you hit enter?
  2904.  
  2905.  
  2906.         My account information is corrupt or deleted.
  2907.  
  2908.         A: Pray you kept a backup somewhere. At the very least, you
  2909.         should have the install program sent with Sentry. In that case,
  2910.         re-install, and log in as Sentry. Since Sentry is initially a
  2911.         SuperUser, you can re-create your users (don't forget to delete
  2912.         the Sentry user when you are finished!).
  2913.  
  2914.  
  2915.         I can't create a c:\Sentry directory on my drive.
  2916.  
  2917.         A: If you are using MS-DOS's UNDELETE program, it may create a
  2918.         directory called "Sentry" off of your root directory. This
  2919.         directory is hidden, and can only be seen with the "dir /a"
  2920.         command. (This only occurs if you are using the "delete sentry"
  2921.         mode). Possible fixes are to stop using "delete sentry" mode, or
  2922.         to create your Sentry directory as something else (eg:
  2923.         c:\Sentry2, c:\Secur\Sentry, etc etc).
  2924.  
  2925.  
  2926.         14.0 Standard Disclaimer
  2927.         ========================
  2928.  
  2929.         As usual, I accept no responsibility for any loss damamge or
  2930.         inconvenience that may be caused either directly or indirectly
  2931.         by any material in this package.
  2932.  
  2933.         Inexperienced users should take care with this program, as you
  2934.         may lock yourself out of your computer, or worse!
  2935.  
  2936.         If you feel you want to use it, but don't feel completely
  2937.         confident, leave a "back door" for you to use. (IE: don't
  2938.         implement all of the security measures listed in "Securing Your
  2939.         Computer"), so that if you DO get locked out, you can still get
  2940.         in somehow. Once you are satisfied that all is well, lock up the
  2941.         back door too.
  2942.  
  2943.         Please read the document "LICENSE.TXT" included with this
  2944.         software for the entire licensing agreement.
  2945.  
  2946.  
  2947.         15.0 Contact Information
  2948.         ========================
  2949.  
  2950.         I would greatly appreciate any comments you might have about
  2951.         this program (either positive or negative). If you encounter any
  2952.         problems, or have a suggestion for making Sentry better, please
  2953.         let me know, and I'll try to put it in a future release. I look
  2954.         forward to hearing from you.
  2955.  
  2956.         You can contact me via e-mail at army@izzy.net and I will reply
  2957.         as quickly as I can. If you do not have internet access, you can
  2958.         contact me via surface mail at:
  2959.  
  2960.         NightShade Computing
  2961.         6055 Westknoll Dr, Apt 450
  2962.         Grand Blanc, MI
  2963.         49439
  2964.  
  2965.  
  2966.         16.0 About the Author
  2967.         =====================
  2968.  
  2969.         Mike Bobbitt is currently a Computer Systems Analyst for Mott
  2970.         Community College in Flint, Michigan. He graduated from Acadia
  2971.         University, where he with a bachelor's degree in Computer
  2972.         Science, Specializing in Software. His primary interests have
  2973.         always been in the area of computer security, which in part
  2974.         prompted him to create Sentry.
  2975.  
  2976.  
  2977.         17.0 Credits
  2978.         ============
  2979.  
  2980.         My thanks go out to these people:
  2981.  
  2982.         Everyone who uses Sentry for making it popular world wide.
  2983.  
  2984.         Everyone who has registered Sentry for being honest.
  2985.  
  2986.         Mark Saarinen for the UNIX crypt() implementation.
  2987.  
  2988.         Richard Brittain for use of his DOS environment variable code.
  2989.  
  2990.         Dexter J. Caldwell for suggestions on various options, including
  2991.         the "template" methodology for protected files.
  2992.  
  2993.         L.D. Best for suggestions, comments and bug reports, as well as
  2994.         detailed explanations of test situations. L.D. has provided
  2995.         many good ideas and useful comments with respect to Sentry, and
  2996.         has assisted greatly in "fine tuning" many features such as file
  2997.         protection.
  2998.  
  2999.         Bret Jacobsen for finding some serious errors in the first
  3000.         release, as well as continually making suggestions for
  3001.         improvement. Bret has given invaluable assistance in the
  3002.         development of Sentry.
  3003.  
  3004.  
  3005.         ...And my wife for listening to me talk incessantly about it.
  3006.